Get All Bids On Certain Auction
In this tutorial, you will learn how to get all bids, regardless of status (e.g. created, cancelled, claimed), on a certain auction by calling the Moxie Auction Subgraph API.
Pre-requisites
Install dependenciesgraphql
and graphql-request
to your project :- npm
- yarn
- pnpm
- bun
npm install graphql graphql-request
yarn add graphql graphql-request
pnpm add graphql graphql-request
bun install graphql graphql graphql-request
Step 1: Add The API Query To Your Code
To get all bids registered on a certain auction, you can use the following query:
- Query
- Variable
- Response
query MyQuery($auctionId: String!) {
orders(where: { auction: $auctionId }) {
buyAmount
encodedOrderId
isExactOrder
price
sellAmount
status
timestamp
txHash
user {
address
}
userWalletAddress
volume
}
}
{
"auctionId": "1"
}
{
"data": {
"orders": [
{
"buyAmount": "1000000000000000000000",
"encodedOrderId": "0x00000000000000010000003635c9adc5dea000000000003635c9adc5dea00000",
"isExactOrder": true,
"price": "1",
"sellAmount": "1000000000000000000000",
"status": "Placed",
"timestamp": "1720255300",
"txHash": "0x031e467c48cfdfac9fffeee6edfd10135c27748ad304ef14c9062ce4381031f5",
"user": {
"address": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0"
},
"userWalletAddress": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0",
"volume": "1000"
}
]
}
}
graphql-request
library:- TypeScript
- JavaScript
index.ts
import { gql, GraphQLClient } from "graphql-request";
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_auction_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery($auctionId: String!) {
orders(where: { auction: $auctionId }) {
buyAmount
encodedOrderId
isExactOrder
price
sellAmount
status
timestamp
txHash
user {
address
}
userWalletAddress
volume
}
}
`;
const variable = {
"auctionId": "1"
}
try {
const data = await graphQLClient.request(query, variable);
console.log(data);
} catch (e) {
throw new Error(e);
}
index.js
const { gql, GraphQLClient } = require("graphql-request");
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_auction_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery($auctionId: String!) {
orders(where: { auction: $auctionId }) {
buyAmount
encodedOrderId
isExactOrder
price
sellAmount
status
timestamp
txHash
user {
address
}
userWalletAddress
volume
}
}
`;
const variable = {
"auctionId": "1"
}
try {
const data = await graphQLClient.request(query, variable);
console.log(data);
} catch (e) {
throw new Error(e);
}
Step 2: Execute Your Code
Once you have your code ready, you can execute it by running the following command:
- TypeScript
- JavaScript
ts-node index.ts
node index.js
If it runs successfully, you should see the data returned in the terminal:
{
"data": {
"orders": [
{
"buyAmount": "1000000000000000000000",
"encodedOrderId": "0x00000000000000010000003635c9adc5dea000000000003635c9adc5dea00000",
"isExactOrder": true,
"price": "1",
"sellAmount": "1000000000000000000000",
"status": "Placed",
"timestamp": "1720255300",
"txHash": "0x031e467c48cfdfac9fffeee6edfd10135c27748ad304ef14c9062ce4381031f5",
"user": {
"address": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0"
},
"userWalletAddress": "0x3199219bda5dbc9ee45bb3dfad180be56a7ebfd0",
"volume": "1000"
}
]
}
}
Congrats! 🥳🎉 You've just fetched all the bids registered on a certain auction!
Developer Support
If you have any questions or need help with other use cases, feel free to join the /airstack Warpcast channel and ask your questions there.
Our team is always ready to help you with any questions you may have.