Skip to main content
GET
GET /limit-order returns every limit order created with your API key, including cancelled ones. Filter by status, chainId and accountTo to show a wallet’s open orders, or to find out whether a create call that timed out went through before you send it again.

Filters

Filters combine with AND. Without filters, the response holds every limit order created with your API key. There is no pagination: other query parameters, such as limit or offset, are ignored. So is a misspelt filter, so check the spelling: ?acountTo= returns every order. Send each parameter once: a repeated parameter matches nothing and returns an empty array. Filter values aren’t validated either: an unknown status, or a chainId that isn’t a number, returns an empty array, not an error.

What the list holds

  • Only your orders. The list holds the orders created with the API key that signs the request. Orders created with another API key never appear, and their IDs return 404 on GET /limit-order/{id}.
  • Cancelled orders too. A cancelled order stays in the list with status: "cancelled" and deletedAt set. To show open orders, filter with status=pending, or keep the orders whose status isn’t final (completed, failed or cancelled).
  • Unsorted and unpaginated. Sort by createdAt yourself. Every matching order comes back in one response, so narrow the list with accountTo and status instead of fetching every order on each poll.
  • Numbers and normalized symbols. amount, price and priceTrigger come back as JSON numbers, and tokenASymbol and tokenBSymbol can be normalized (WETH comes back as ETH). Identify orders by token address, never by symbol.

Find an order after a create call timed out

POST /limit-order creates a new order every time it succeeds, so never resend a create call that timed out without checking first. List the maker’s orders on the chain and look for one that matches the body you sent. expired comes back exactly as you sent it, which makes it a practical field to match on.

Authorizations

x-api-key-id
string
header
required

Your API key ID (UUID). See Sign requests.

x-value-info
string
header
required

Base64 of timestamp + "\n" + nonce + "\n" + bodyHash, where timestamp is Unix seconds, nonce is 24 new hexadecimal characters and bodyHash is the unpadded base64url SHA-256 of the canonical body.

x-passphrase
string
header
required

Your account passphrase. Treat it like the secret key.

x-signature
string
header
required

Lowercase hex HMAC-SHA256 (signature v2), keyed with your secret key string (UTF-8, not decoded), of seven lines joined with \n, with no trailing newline: OLPX-HMAC-SHA256-V2, timestamp, nonce, the uppercase method, path, canonicalQuery and bodyHash. path is the request path including /api/v1, without the query string, for example /api/v1/limit-order/<id>. canonicalQuery is the query parameters decoded (+ is a space), sorted by key and then by value, re-encoded per RFC 3986 and joined with &, or the empty string when there is no query. Headers signed for one request are rejected on any other. See Sign requests.

Query Parameters

accountTo
string

Only orders for this maker wallet. Matches case-sensitively: use the exact form you sent when you created the order.

chainId
integer

Only orders on this chain: an integer such as 137. A value that isn't an integer matches nothing and returns an empty array.

Required range: x >= 1
status
enum<string>

Only orders with this status.

Available options:
pending,
executing,
submitted,
completed,
cancelled,
failed

Response

Matching limit orders.

success
enum<boolean>
required
Available options:
true
data
object[]
required

Every limit order created with this API key that matches the filters, including cancelled ones. Unsorted and unpaginated: sort by createdAt yourself.

meta
object
required