Skip to main content
GET
/
v1
/
trade
/
{tradeId}
curl
curl "https://api.testnet.arcus.xyz/v1/trade/12345?market=BTC-USD"
{
  "marketId": 32767,
  "marketDisplayName": "<string>",
  "price": "<string>",
  "size": "<string>",
  "tradeId": "<string>",
  "timestamp": 123,
  "takerOrderId": "<string>",
  "takerAddress": "<string>",
  "makerOrderId": "<string>",
  "makerAddress": "<string>",
  "sequenceNumber": 123
}

Path Parameters

tradeId
string
required

Unique trade identifier.

Example:

"12345"

Query Parameters

market
string
required

Market identifier, e.g. "BTC-USD".

Example:

"BTC-USD"

Response

Trade.

One public-trades fill row — one row per maker/taker pairing. Returned by GET /v1/trades (newest-first array) and by the trades WebSocket channel (one frame per taker match, with one row per pairing inside).

Source-of-truth wire type lives in go-socks/sbe/handler.go TradeJSON and api-handlers/types/trade_types.go Trade — same shape on both surfaces so a client parser works for either.

On the WS trades channel the update payload is an array of these rows, all built from a single taker match; takerOrderId, takerAddress, timestamp, and sequenceNumber repeat on every row.

marketId
integer
required

Perpetual market identifier (uint16). Map to display name via GET /markets.

Required range: 0 <= x <= 65535
Example:

0

marketDisplayName
string
required

Market symbol (e.g. BTC-USD).

Example:

"BTC-USD"

side
enum<string>
required

Taker side.

Available options:
BUY,
SELL
price
string
required

Fill price in human-readable USD (decimal string).

Example:

"94500.00"

size
string
required

Fill size in human-readable base-asset units (decimal string).

Example:

"0.25"

tradeId
string
required

Unique trade identifier.

Example:

"12345"

timestamp
integer<int64>
required

Fill timestamp (epoch microseconds).

Example:

1712345678000000

takerOrderId
string
required

Server-generated order ID of the taker order.

Example:

"abc-123..."

takerAddress
string
required

Checksummed Ethereum address of the taker account.

Example:

"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"

makerOrderId
string
required

Server-generated order ID of the maker order.

Example:

"def-456..."

makerAddress
string
required

Checksummed Ethereum address of the maker account.

Example:

"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"

sequenceNumber
integer<uint64>
required

Monotonically increasing sequence number for ordering and gap detection.

Example:

9991234