Skip to main content
GET
Get TWAP order TCA report

Authorizations

X-Monaco-Signature
string
header
required

Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.

Path Parameters

twapOrderId
string
required

Response

OK

twapOrderId
string<uuid> | null

TWAP parent order UUID

state
string | null

Terminal state the report covers: COMPLETED or CANCELLED

Example:

"COMPLETED"

side
string | null

Parent side: BUY or SELL (fixes the sign convention)

Example:

"BUY"

windowStartAt
string | null

Active-window start (UTC, RFC 3339) — the measurement window's left edge

Example:

"2026-08-25T10:00:00Z"

windowTerminalAt
string | null

Terminal time (completion or cancellation; UTC) — the measurement window's right edge. Never the planned end: a cancelled parent stopped trading here.

Example:

"2026-08-25T11:00:00Z"

executedQuantity
string | null

Quantity filled over the window, as decimal string

Example:

"118.4"

shortfallQuantity
string | null

Unfilled remainder (totalQuantity - executedQuantity, floored at zero)

Example:

"1.6"

realizedAvgPrice
string | null

Volume-weighted realized price (executedNotional / executedQuantity), GROSS of fees — the price the fills traded at, not the net cost after taker fees or maker rebates. Compared against price benchmarks, so fees are deliberately excluded. Null when nothing executed.

Example:

"2001.35"

arrivalPrice
string | null

Reference price at (or immediately before) the window start, from benchmarkSource. Null when price history could not cover the window.

Example:

"2000.00"

benchmarkTwapPrice
string | null

Average reference price over the active window, from benchmarkSource. Null when price history could not cover the window.

Example:

"2002.10"

benchmarkSource
string | null

Price series both benchmark values came from: risk_mark_1m (marked pairs) or ohlcv_1m_close (spot fallback). Null when no series qualified.

Example:

"risk_mark_1m"

slippageVsArrivalBps
string | null

Signed basis points vs the arrival price; POSITIVE means execution beat it (BUY: bought below arrival; SELL: sold above). Null when realized or arrival is null.

Example:

"-6.75"

performanceVsBenchmarkBps
string | null

Signed basis points vs the window-TWAP benchmark; POSITIVE means execution beat the benchmark. Null when realized or benchmark is null.

Example:

"3.75"

tradingPairId
string<uuid> | null

Trading pair the parent executed on. Present so a report is self-describing: prices and bps are meaningless without the instrument, and a dashboard should not need a second lookup to label them.

totalQuantity
string | null

Parent order quantity, as decimal string. With executedQuantity and shortfallQuantity this closes the fill-rate arithmetic without a second lookup.

Example:

"120"