otc

Get OTC Trades

Get the otc trade list based on specified filters.

  • requires bearer token in authorization header
  • supports pagination
  • supports filtering on status, tradingAccountId, sharedMatchKey, clientOtcTradeId, createdAtDatetime, createdAtTimestamp, brokeredBy
get/v2/otc-trades

Request

Query parameters

status'APPROVAL_PENDING' | 'COUNTERPARTY_PENDING' | 'COUNTERPARTY_PAIRED' | 'RISK_PENDING' | 'MATCHED' | 'CANCELLED' | 'REJECTED'

OTC trade status

Example:MATCHED
tradingAccountIdstring required

unique trading account ID

Example:111000000000001
sharedMatchKeystring

Unique shared key that is agreed between the two customers to represent their OTC trade to be matched on Bullish's OTC Clearing Facility. Must be a 12 to 64 characters alphanumeric value

Example:cfBtcXrpMatch001
clientOtcTradeIdstring

unique numeric (i64) identifier generated on the client side expressed as a string value

Example:20050900225
brokeredBystring

broker short code

Example:IDB_A

Originating broker short code

createdAtDatetime[ gte ]string date-time

ISO 8601 with millisecond as string

Example:2025-05-20T01:01:01.000Z

Start timestamp of window, ISO 8601 with millisecond as string

createdAtDatetime[ lte ]string date-time

ISO 8601 with millisecond as string

Example:2025-05-20T01:01:01.000Z

End timestamp of window, ISO 8601 with millisecond as string

Response

OK

otcTradeIdstring required

unique numeric (i64) identifier generated on Bullish side expressed as a string value

clientOtcTradeIdstring

unique numeric (i64) identifier generated on the client side expressed as a string value

tradingAccountIdstring

unique trading account ID

tradingAccountNicknamestring

nickname of the trading account (only for brokered trades)

sharedMatchKeystring required

Unique shared key that is agreed between the two customers to represent their OTC trade to be matched on Bullish's OTC Clearing Facility. Must be a 12 to 64 characters alphanumeric value

status'APPROVAL_PENDING' | 'COUNTERPARTY_PENDING' | 'COUNTERPARTY_PAIRED' | 'RISK_PENDING' | 'MATCHED' | 'CANCELLED' | 'REJECTED' required

OTC trade status

statusReasonstring required

status reason, describes why the otc trade is in a specific state

statusReasonCodestring required

status reason code, see details

createdAtDatetimestring date-time required

ISO 8601 with millisecond as string

createdAtTimestampstring string required

unsigned 64 bit integer value which is the number of milliseconds since EPOCH expressed as string

expireDatetimestring date-time required

ISO 8601 with millisecond as string

expireTimestampstring string required

unsigned 64 bit integer value which is the number of milliseconds since EPOCH expressed as string

remarksstring

text field for client's internal reference to a trade, max length is 255 characters

brokeredBystring

broker short code

Example response

[
  {
    "otcTradeId": "200000000000000098",
    "clientOtcTradeId": "20050900225",
    "tradingAccountId": "111000000000001",
    "tradingAccountNickname": "my-trading-account",
    "sharedMatchKey": "cfBtcXrpMatch001",
    "status": "MATCHED",
    "statusReason": "Ok",
    "statusReasonCode": "1002",
    "createdAtDatetime": "2025-05-20T01:01:01.000Z",
    "createdAtTimestamp": "1621490985000",
    "expireDatetime": "2025-05-20T01:01:01.000Z",
    "expireTimestamp": "1621490985000",
    "remarks": "first otc trade with xyz client",
    "brokeredBy": "IDB_A",
    "trades": [
      {
        "tradeId": "100020000000000060",
        "symbol": "BTC-USDC-PERP",
        "price": "1.00000000",
        "quantity": "1.00000000",
        "quoteAmount": "1.00000000",
        "baseFee": "1.00000000",
        "quoteFee": "1.00000000",
        "tradeRebateAssetSymbol": "BTC-USDC-PERP",
        "tradeRebateAmount": "1.00000000",
        "side": "BUY",
        "isTaker": true,
        "createdAtDatetime": "2025-05-20T01:01:01.000Z",
        "createdAtTimestamp": "1621490985000"
      }
    ]
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.