Trading

Get execution status

GET
/execution/status

Authorization

appIdbearerAuth
headerx-app-id<token>

Your application ID. Required on app-tier and user-tier routes. Omitted on routes that authenticate with x-app-api-key only.

headerAuthorizationBearer <JWT>

JWT access token from POST /auth/verify. Required with x-app-id on user routes. On the smart-route quote it is optional and turns a preview into an executable quote.

Query Parameters

quoteId*string
Length1 <= length
mode?string
Value in"live""paper"

Response Body

200

application/json
  1. response
executionId*string

Execution id; null until execution starts.

quoteId*string

The quote being executed.

orderIds*array<string>

Orders created for this trade.

overallState*ExecutionOverallState

Overall state of the trade. In progress: created, routing, quoting, placing, confirming. Terminal (terminal: true): filled, partially_filled, failed, cancelled, expired.

Value in"created""routing""quoting""placing""confirming""filled""partially_filled""failed""cancelled""expired"
terminal*boolean

true once nothing will change; stop polling.

errorReason*string

Readable reason the trade failed.

pollAfterMs*integer

Suggested wait before the next poll, in milliseconds; null when terminal.

Range0 <= value
dagProgress*

Progress of the trade's execution plan; null until the plan exists.

steps*array<>

Execution steps, for a progress display. Group rows by groupId.

orders*array<>

One entry per order.

pendingSignatures?array<>

Self-custody only: requests waiting for the user's wallet, including ones raised after the fill call. Answer them on POST /execution/fill/{quoteId}/signatures.

Example Request
curl -X GET 'https://api.t.sufwankhalid.com/execution/status?quoteId=string'
Example Response
{  "executionId": "cmf3r1a4k00c6mw0l9d3h5tsy",  "quoteId": "k2r8v5n1x7c4m9t3b6q0w2za",  "orderIds": [    "cmf3r1a2b00c4mw0lq8y7e3uj",    "cmf3r1a3c00c5mw0lt2k9w6nd"  ],  "overallState": "filled",  "terminal": true,  "errorReason": null,  "pollAfterMs": null,  "dagProgress": {    "dagRunId": "cmf3r1a4k00c6mw0l9d3h5tsy",    "totalSteps": 2,    "currentSequence": 2,    "currentStepType": null,    "completedSequences": [      1,      2    ],    "stepTypes": {      "1": "polymarket-order",      "2": "limitless-order"    },    "status": "completed",    "errorReason": null  },  "steps": [    {      "sequence": 1,      "stepType": "polymarket-order",      "status": "completed",      "attempt": 1,      "startedAt": "2026-09-29T15:04:12.310Z",      "completedAt": "2026-09-29T15:04:14.052Z",      "errorReason": null,      "orderIds": [        "cmf3r1a2b00c4mw0lq8y7e3uj"      ],      "kind": "fill",      "groupId": "polymarket",      "groupStatus": "completed",      "label": "Buy on Polymarket"    },    {      "sequence": 2,      "stepType": "limitless-order",      "status": "completed",      "attempt": 1,      "startedAt": "2026-09-29T15:04:12.318Z",      "completedAt": "2026-09-29T15:04:15.470Z",      "errorReason": null,      "orderIds": [        "cmf3r1a3c00c5mw0lt2k9w6nd"      ],      "kind": "fill",      "groupId": "limitless",      "groupStatus": "completed",      "label": "Buy on Limitless"    }  ],  "orders": [    {      "orderId": "cmf3r1a2b00c4mw0lq8y7e3uj",      "venue": "polymarket",      "status": "filled",      "event": "filled",      "filledAmountRaw": "15300000",      "actualSharesRaw": "30000000",      "executionPriceRaw": "0.51",      "txHash": "0x9c1e5b7a3d2f8c6e4a0b9d7f5c3e1a8b6d4f2c0e9a7b5d3f1c8e6a4b2d0f9c7e",      "updatedAt": "2026-09-29T15:04:14.052Z"    },    {      "orderId": "cmf3r1a3c00c5mw0lt2k9w6nd",      "venue": "limitless",      "status": "filled",      "event": "filled",      "filledAmountRaw": "9630000",      "actualSharesRaw": "18000000",      "executionPriceRaw": "0.535",      "txHash": "0x3a6d9f2c5e8b1d4a7c0f3e6b9d2a5c8f1e4b7d0a3c6f9e2b5d8a1c4f7e0b3d6a",      "updatedAt": "2026-09-29T15:04:15.470Z"    }  ]}