GetOrderbookOrders
With the use of the GetOrderbookOrders
api developers can build custom marketplaces around the api, as an example, one can implement a frontend to fulfill certain orders (not just the best price) for a collectible
Example
GetOrderbookOrders
of token ids from a collection address on Sepolia:
cURL
curl --request POST \
--url https://marketplace-api.sequence.app/arbitrum-sepolia/rpc/Marketplace/GetOrderbookOrders \
--header 'Content-Type: application/json' \
--data '{
"collectionAddress": "0x1693ffc74edbb50d6138517fe5cd64fd1c917709",
"currencyAddresses": [
"0xa9c88358862211870db6f18bc9b3f6e4f8b3eae7"
],
"filters": {
"isListing": true,
"tokenIds": [
"0",
"1",
"4",
"5"
]
},
"orderStatuses": [
"OPEN","CANCELLED"
],
"page": {
"sort": [
{
"column": "createdAt",
"order": "ASC"
}
]
},
"orderbookContractAddress": "0xB537a160472183f2150d42EB1c3DD6684A55f74c"
}'
Schema
Query the protocol for orders based on various filters.
Sequence Orderbook GetOrderbookOrders
Method:
- Request: POST /rpc/Marketplace/GetOrderbookOrders
- Content-Type: application/json
- Body (in JSON):
orderbookContractAddress
(string) -- the address of the protocol contractcollectionAddress
(string) -- the address of the NFT collectioncurrencyAddresses
(string[]) -- an array of currency contract addressesfilters
(OrderbookOrderFilter) -- filters to apply to the querytokenIds
(string[]) -- the token ids of the assets you're looking atisListing?
(bool) --true
if it is an order,false
if it's an offeruserAddress?
(string) -- the address of the user
orderStatuses
(OrderStatus[]) (optional) -- filter orders by their statuses asOPEN
,CLOSED
,CANCELLED
stringsmetadataFilter
(Filter) (optional) -- filter orders by metadatatext?
(string) -- text to searchproperties?
(PropertyFilter[]) --name
(string) -- name of the property, eg: herotype
: (PropertyType) -- type of the values of the property as an enum from:"INT"
,"STRING"
,"ARRAY"
, or"GENERIC"
min?
: (int64) -- used if type is int, gives range of values for filteringmax?
: (int64) -- used if type is int, gives range of values for filteringvalues?
: []any -- if string then array of values, eg: ["Ada", "Ari", "Axel", "Banjo" ...]
beforeExpiryTimestamp
(int64) -- filter orders expiring before the given timestamppage?
-- page object to sort bysort
(Sort[]) -- with an object of keys"column"
and"order"
with example"createdAt"
and"ASC"
, respectively
- Response (in JSON):
page
page
(i32) -- number of the pagepageSize
(i32) -- number of orders on the pagemore
(bool) -- if there are more orders
orders
(OrderbookOrder[]) [orderId
(string) -- order idtokenContract
(string) -- the collection contracttokenId
(string) -- the tokenId of the collection in the orderisListing
(bool) -- is true if it's a listing for sale, or false if it's an offerquantity
(string) -- the number of tokens the order is forquantityRemaining
(string) -- the number of tokens after the ordercurrencyAddress
(string) -- the currency the token is trading inpricePerToken
(string) -- the price per tokenexpiry
(string) -- the expiry of when the order is no longer validorderStatus
(OrderStatus) -- the status of the order as an enum fom"OPEN"
,"CLOSED"
,"CANCELLED"
createdBy
(string) -- the address the order was created bycreatedAt
(uint64) -- the time the order was createdorderbookContractAddress
(string) -- the orderbook contract address ]