Get user orders
curl --request GET \
--url https://gateway.mainnet.kuru.io/api/v1/users/{userId}/ordersconst options = {method: 'GET'};
fetch('https://gateway.mainnet.kuru.io/api/v1/users/{userId}/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://gateway.mainnet.kuru.io/api/v1/users/{userId}/orders"
response = requests.get(url)
print(response.text){
"feedEpoch": 7,
"data": [{
"orderId": "77738308",
"marketAddress": "0x0a082280e4ea3d822e23ec1186685477241a039d",
"slotIdx": 3,
"symbol": "WETHUSDC",
"isBuy": true,
"orderType": "limit",
"price": "230000000",
"remainingSize": "750000000000000000000",
"minSizeAfterBlock": null,
"clientOrderId": null,
"createdAt": 1700000000
}],
"state": "finalized",
"servedView": "finalized",
"globalSeq": 124367,
"globalUserSeq": 2951,
"truncated": false
}
Exchange REST methods
Get projected user open orders
Read a current proposed, voted, or finalized open-order snapshot.
GET
/
api
/
v1
/
users
/
{userId}
/
orders
Get user orders
curl --request GET \
--url https://gateway.mainnet.kuru.io/api/v1/users/{userId}/ordersconst options = {method: 'GET'};
fetch('https://gateway.mainnet.kuru.io/api/v1/users/{userId}/orders', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://gateway.mainnet.kuru.io/api/v1/users/{userId}/orders"
response = requests.get(url)
print(response.text){
"feedEpoch": 7,
"data": [{
"orderId": "77738308",
"marketAddress": "0x0a082280e4ea3d822e23ec1186685477241a039d",
"slotIdx": 3,
"symbol": "WETHUSDC",
"isBuy": true,
"orderType": "limit",
"price": "230000000",
"remainingSize": "750000000000000000000",
"minSizeAfterBlock": null,
"clientOrderId": null,
"createdAt": 1700000000
}],
"state": "finalized",
"servedView": "finalized",
"globalSeq": 124367,
"globalUserSeq": 2951,
"truncated": false
}
Response JSON below is an illustrative testnet snapshot, not a live mainnet result. Use the selected server and its network-specific addresses for actual requests.
string
required
Unsigned decimal Kuru user ID.
string
default:"finalized"
proposed, voted, or finalized. Short forms p, v, and f are also
accepted.integer
required
Epoch namespace for
globalSeq and globalUserSeq.array
required
Up to 2,000 open orders in immutable snapshot order.
string
required
Protocol order ID.
string
required
Lowercase market contract address.
integer
required
Protocol slot index inside the maker page, from
0 through 255.string | null
required
Configured market symbol, or
null when it is absent from the catalog.boolean
required
true for a buy order and false for a sell order.string
required
Always
limit in this version.string
required
Signed integer price in market price precision (pp).
string
required
Remaining native market size units.
integer | null
required
Block threshold associated with reduce-after-block behavior, when present.
integer
required
Creation-block Unix timestamp in seconds. Retained through partial fills and
checkpoint restore; matches the userOrders WebSocket snapshot creation time.
string | null
required
Optional client-supplied order correlation ID.
string
required
Requested projection view.
string
required
Projection view that served the request.
integer | null
required
Global sequence represented by the projection snapshot.
integer | null
required
User sequence represented by the projection snapshot.
boolean
required
true when additional open orders were omitted.{
"feedEpoch": 7,
"data": [{
"orderId": "77738308",
"marketAddress": "0x0a082280e4ea3d822e23ec1186685477241a039d",
"slotIdx": 3,
"symbol": "WETHUSDC",
"isBuy": true,
"orderType": "limit",
"price": "230000000",
"remainingSize": "750000000000000000000",
"minSizeAfterBlock": null,
"clientOrderId": null,
"createdAt": 1700000000
}],
"state": "finalized",
"servedView": "finalized",
"globalSeq": 124367,
"globalUserSeq": 2951,
"truncated": false
}