Queries for Actions (NFT Trading)
buy
Buy is used to purchase a listing using its id. The buying process takes several "steps" or calls of the same buy query until the process is complete. Please see Buying Guide.
buy(chain_id, listing_id, taker_address, signature, skip_network_check, tx_hash) {
/* ActionResponse fields */
}
Arguments
chain_id Int! -- required
chain_id Int! -- requiredThe identifier of the chain on which the buy transaction is to take place.
listing_id Int! -- required
listing_id Int! -- requiredThe identifier of the listing the purchasing user wishes to buy.
taker_address String! -- required
taker_address String! -- requiredThe wallet address of the purchasing user.
signature String
signature StringIf the user is prompted to sign into Blur, the signature needs to be generated and passed in to make sure Blur is authorized
skip_network_check Boolean (default false)
skip_network_check Boolean (default false)When true and the listing's chain ID is different from the chain_id , the buy returns a step to switch network
tx_hash String
tx_hash StringThe transaction hash (txHash) from the transaction step in the buy step to keep track of the transaction status.
Response
ActionResponse.* ActionResponse
ActionResponse.* ActionResponseAny requested field from the ActionResponse object.
Example
Request
query {
buy(
chain_id: 1,
listing_id: 6762667,
taker_address: "0x1611036b9Fd2091741F320d45f4B2Ec7785DE274",
skip_network_check: true
) {
label
description
type
name
item {
data
tx_hash
order_data
order_indexes
}
steps_summary {
description
label
name
status
}
}
}
Response
/* One of several possible responses -- all responses follow this basic structure */
{
"data": {
"buy": {
"label": "Confirm transaction in your wallet",
"description": "To purchase this item you must confirm the transaction and pay the gas fee",
"type": "transaction",
"name": "sale",
"item": {
"data": "{\"from\":\"0x1611036b9fd2091741f320d45f4b2ec7785de274\",\"to\":\"0x00000000000000adc04c56bf30ac9d3c0aaf14dc\",\"data\":\"0x0000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000581a8f21c8f000000000000000000000000000622a5b6c4e544a4c085745c4b147d995bb235bbe000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000006e4c6d9b0930073e958abd2aba516b885260b8ff00000000000000000000000000000000000000000000000000000000000203c7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064dc162d0000000000000000000000000000000000000000000000000000000064dc243d000000000000000000000000000000000000000000000000000000000000000072db8c0b0000000000000000000000000000000000000000305f52bd170fdee70000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b56064a4d0e695d7a289df8d7df9550c411b14a57f966ce41f490688b6a1a14f23018aac61fabe2e94fe213e8295bfd2505e2efa717a42a83deee954b79ecce01d4da48b4bf8877e\",\"value\":\"0x581a8f21c8f000\"}",
"tx_hash": null,
"order_data": "{}",
"order_indexes": null
},
"steps_summary": [
{
"description": "To purchase this item you must confirm the transaction and pay the gas fee",
"label": "Confirm transaction in your wallet",
"name": "sale",
"status": "incomplete"
}
]
}
}
}
list
List is used to create a listing for an NFT. The listing process takes several "steps" or calls of the same list query until the process is complete. Please see Listing Guide.
list(asset_id, chain_id, currency, signature, maker_address, price_in_wei, skip_network_check) {
/* ActionResponse fields */
}
Arguments
asset_id Int! -- required
asset_id Int! -- requiredThe identifier of the asset being listed.
chain_id Int! -- required
chain_id Int! -- requiredThe identifier of the chain on which the list transaction is to take place.
currency String! -- required
currency String! -- requiredThe currency the listing requires for payment.
maker_address String! -- required
maker_address String! -- requiredThe wallet address of the user creating the listing.
price_in_wei String! -- required
price_in_wei String! -- requiredThe purchase price of the listing.
tx_hash String
tx_hash StringThe transaction hash (txHash) from the transaction step in the cancellation step to keep track of the transaction status.
skip_network_check Boolean (default false)
skip_network_check Boolean (default false)When true and the listing's chain ID is different from the chain_id , the buy returns a step to switch network
Response
ActionResponse.* ActionResponse
ActionResponse.* ActionResponseAny requested field from the ActionResponse object.
Example
Request
query {
list(
asset_id: 410720
chain_id: 1
currency: "0x0000000000000000000000000000000000000000"
maker_address: "0x5780A43B37c1E4451c5e485AA99EB092fEF3205E"
priceInWei: "100000000000000000"
) {
label
description
type
name
item {
data
tx_hash
order_data
order_indexes
}
}
}
Response
/* One of several possible responses -- all responses follow this basic structure */
{
"data": {
"list": {
"label": "Authorize listing",
"description": "A free off-chain signature to create the listing",
"type": "signature",
"name": "order-signature",
"item": {
"data": "{\"signatureKind\":\"eip712\",\"domain\":{\"name\":\"Seaport\",\"version\":\"1.5\",\"chainId\":1,\"verifyingContract\":\"0x00000000000000adc04c56bf30ac9d3c0aaf14dc\"},\"types\":{\"OrderComponents\":[{\"name\":\"offerer\",\"type\":\"address\"},{\"name\":\"zone\",\"type\":\"address\"},{\"name\":\"offer\",\"type\":\"OfferItem[]\"},{\"name\":\"consideration\",\"type\":\"ConsiderationItem[]\"},{\"name\":\"orderType\",\"type\":\"uint8\"},{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"endTime\",\"type\":\"uint256\"},{\"name\":\"zoneHash\",\"type\":\"bytes32\"},{\"name\":\"salt\",\"type\":\"uint256\"},{\"name\":\"conduitKey\",\"type\":\"bytes32\"},{\"name\":\"counter\",\"type\":\"uint256\"}],\"OfferItem\":[{\"name\":\"itemType\",\"type\":\"uint8\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"identifierOrCriteria\",\"type\":\"uint256\"},{\"name\":\"startAmount\",\"type\":\"uint256\"},{\"name\":\"endAmount\",\"type\":\"uint256\"}],\"ConsiderationItem\":[{\"name\":\"itemType\",\"type\":\"uint8\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"identifierOrCriteria\",\"type\":\"uint256\"},{\"name\":\"startAmount\",\"type\":\"uint256\"},{\"name\":\"endAmount\",\"type\":\"uint256\"},{\"name\":\"recipient\",\"type\":\"address\"}]},\"value\":{\"kind\":\"single-token\",\"offerer\":\"0x1611036b9fd2091741f320d45f4b2ec7785de274\",\"zone\":\"0x0000000000000000000000000000000000000000\",\"offer\":[{\"itemType\":2,\"token\":\"0x6e4c6d9b0930073e958abd2aba516b885260b8ff\",\"identifierOrCriteria\":\"167966\",\"startAmount\":\"1\",\"endAmount\":\"1\"}],\"consideration\":[{\"itemType\":0,\"token\":\"0x0000000000000000000000000000000000000000\",\"identifierOrCriteria\":\"0\",\"startAmount\":\"950000000000000000\",\"endAmount\":\"950000000000000000\",\"recipient\":\"0x1611036b9fd2091741f320d45f4b2ec7785de274\"},{\"itemType\":0,\"token\":\"0x0000000000000000000000000000000000000000\",\"identifierOrCriteria\":\"0\",\"startAmount\":\"50000000000000000\",\"endAmount\":\"50000000000000000\",\"recipient\":\"0xef0133437ab8da5c5e8873b61189610e2d8cb4f5\"}],\"orderType\":0,\"startTime\":1692147320,\"endTime\":1707699380,\"zoneHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"salt\":\"0x4bf8877e1d4da48b0000000000000000b70d42e77be5fee60a41d4e07b25ed97\",\"conduitKey\":\"0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000\",\"counter\":\"0\",\"signature\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"},\"primaryType\":\"OrderComponents\"}",
"tx_hash": null,
"order_data": "{}",
"order_indexes": [
0
],
"__typename": "ActionItem"
},
"steps_summary": [
{
"description": "Each NFT collection you want to trade requires a one-time approval transaction",
"label": "Approve NFT contract",
"name": "nft-approval",
"status": "complete",
"__typename": "ActionStepPreview"
},
{
"description": "A free off-chain signature to create the listing",
"label": "Authorize listing",
"name": "order-signature",
"status": "incomplete",
"__typename": "ActionStepPreview"
}
],
"__typename": "ActionResponse"
}
}
}
Cancel
Cancel is used to cancel a listing for an NFT. The cancellation process takes several "steps" or calls of the same list query until the process is complete. Please see Listing Guide.
cancel(chain_id, listing_id, maker_address, skip_network_check, tx_hash) {
/* ActionResponse fields */
}
Arguments
chain_id Int! -- required
chain_id Int! -- requiredThe identifier of the chain on which the cancel transaction is to take place.
listing_id Int! -- required
listing_id Int! -- requiredThe identifier of the listing being canceled.
maker_address String! -- required
maker_address String! -- requiredThe wallet address of the user canceling the listing.
signature String!
signature String!The signature returned from the wallet's signature step during the creating the list step.
skip_network_check Boolean (default false)
skip_network_check Boolean (default false)When true and the listing's chain ID is different from the chain_id , the buy returns a step to switch network
Response
ActionResponse.* ActionResponse
ActionResponse.* ActionResponseAny requested field from the ActionResponse object.
Example
Request
query {
cancel(
chain_id: 1,
listing_id: 6762805,
maker_address: "0x1611036b9Fd2091741F320d45f4B2Ec7785DE274",
skip_network_check: true
) {
label
description
type
name
item {
data
tx_hash
order_data
order_indexes
}
steps_summary {
description
label
name
status
}
}
}
Response
/* One of several possible responses -- all responses follow this basic structure */
{
"data": {
"cancel": {
"label": "Cancel order",
"description": "To cancel these orders you must confirm the transaction and pay the gas fee",
"type": "transaction",
"name": "cancellation-signature",
"item": {
"data": "{\"from\":\"0x1611036b9fd2091741f320d45f4b2ec7785de274\",\"to\":\"0x00000000000000adc04c56bf30ac9d3c0aaf14dc\",\"data\":\"0xfd9f1e100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000001611036b9fd2091741f320d45f4b2ec7785de27400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064dc1f210000000000000000000000000000000000000000000000000000000065c96d5d00000000000000000000000000000000000000000000000000000000000000004bf8877e1d4da48b000000000000000073b1c9d7af15692d0028313812a1f9900000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e4c6d9b0930073e958abd2aba516b885260b8ff000000000000000000000000000000000000000000000000000000000002901e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f485fd70fc800000000000000000000000000000000000000000000000000003f485fd70fc80000000000000000000000000001611036b9fd2091741f320d45f4b2ec7785de27400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a18000000000000000000000000000ef0133437ab8da5c5e8873b61189610e2d8cb4f5\"}",
"tx_hash": null,
"order_data": "{}",
"order_indexes": null,
"__typename": "ActionItem"
},
"steps_summary": [
{
"description": "To cancel these orders you must confirm the transaction and pay the gas fee",
"label": "Cancel order",
"name": "cancellation-signature",
"status": "incomplete",
"__typename": "ActionStepPreview"
}
],
"__typename": "ActionResponse"
}
}
}
