Create block trade

Create a parent block trade for multi-party execution.

Block trades coordinate execution across multiple parties. The initiator creates a parent block trade specifying trade details and required signers, who must submit offers before execution.

Requirements:

  • Required signers must have active onboarding and block trade functionality
  • Valid StarkNet signature with expiration timestamp
  • Each trade specifies market, size, price, and order details

Workflow:

  1. Initiator creates parent block trade
  2. Required signers submit offers
  3. Initiator executes with selected offers
  4. All trades processed together

Request

Block trade content
block_expirationintegerRequired
Unix timestamp in milliseconds when block expires
noncestringRequired
Unique nonce for this block trade request
required_signerslist of stringsRequired
List of accounts that can participate in the block trade
signaturesmap from strings to objectsRequired
Map of account addresses to their signatures. Can be empty or partial.
tradesmap from strings to objectsRequired

Map of market symbol to trade info (one per market)

Response

Created
block_expirationinteger or null
Unix timestamp in milliseconds when block expires
block_idstring or null

Backend-generated unique identifier

block_typeenum or null
Block type
Allowed values:
created_atinteger or null
When block was created
initiatorstring or null
Account that initiated this block trade
last_updated_atinteger or null
When block was last updated
noncestring or null
Original block nonce
parent_block_idstring or null

Parent block ID (if offer-based)

required_signerslist of strings or null
List of accounts that can participate in the block trade
signaturesmap from strings to objects or null

Current signatures on this block (for signature verification)

statusenum or null
Current status of the block trade
tradesmap from strings to objects or null
Map of market to trade details

Errors