submit
Submit your side of a bilateral settlement. If a counterparty has already submitted with the sametrade_reference, the system auto-matches and creates a settlement.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
templateSlug | string | Yes | Settlement template to use |
role | string | Yes | Your role ("seller" or "buyer") |
party | InstructionPartyInput | Yes | Your party details |
legs | InstructionLegInput[] | Yes | What you’re delivering |
timeoutAt | string | Yes | ISO 8601 settlement timeout |
idempotencyKey | string | Yes | Unique key for safe retries |
tradeReference | string | No | Existing reference to match against |
settlementCategory | string | No | "repo_open" for repo lifecycle |
maturityAt | string | No | Repo maturity date |
repoRate | string | No | Repo interest rate |
repaymentAmount | string | No | Repo closing leg cash amount |
InstructionPartyInput
| Field | Type | Required | Description |
|---|---|---|---|
externalReference | string | Yes | Your internal account or entity ID |
walletAddress | string | Yes | On-chain wallet address (needed for compliance screening) |
name | string | No | Display name for the party |
chainId | number | No | Blockchain network for the wallet |
InstructionLegInput
| Field | Type | Required | Description |
|---|---|---|---|
instrumentId | string | Yes | Token address, ISIN, or currency code |
quantity | string | Yes | Amount to deliver (string for precision) |
direction | "deliver" | "receive" | Yes | What you’re doing with this instrument |
legType | string | No | Default: "asset_delivery" |
chainId | number | No | Blockchain network for this leg |
tokenStandard | string | No | e.g., "ERC-20", "ERC-3643" |
Return type: InstructionRead
| Field | Type | Description |
|---|---|---|
id | string | Instruction UUID |
tradeReference | string | Trade reference (generated if not provided) |
status | InstructionStatus | "pending_match", "matched", "cancelled", "expired" |
settlementId | string | null | Settlement UUID if matched, null if pending |
templateSlug | string | Template used |
role | string | The role you submitted as |
party | object | Your party details |
legs | object[] | Your leg details |
timeoutAt | string | Settlement timeout |
expiresAt | string | When this instruction expires if unmatched |
createdAt | string | Creation timestamp |
get
Fetch a single instruction by ID.list
List instructions with optional status filter.Parameters
| Field | Type | Default | Description |
|---|---|---|---|
status | InstructionStatus | - | Filter by status |
limit | number | 50 | Max items per page |
offset | number | 0 | Items to skip |
cancel
Cancel a pending instruction. Only works for instructions withpending_match status.
Bilateral matching flow
The first instruction getspending_match and a trade reference. The second instruction with the same trade reference triggers matching and creates a settlement.