Skip to main content

submit

Submit your side of a bilateral settlement.
instruction = await client.instructions.submit({
    "template_slug": "dvp-bilateral",
    "role": "seller",
    "party": {
        "external_reference": "KSFI-II-4401",
        "name": "Securitize Fund I",
        "wallet_address": "0x1234567890abcdef1234567890abcdef12345678",
        "chain_id": 11155111,
    },
    "legs": [{
        "instrument_id": "US09311A1007",
        "quantity": "12000000",
        "direction": "deliver",
    }],
    "timeout_at": "2026-12-01T00:00:00Z",
    "idempotency_key": client.generate_idempotency_key(),
})

print(instruction.trade_reference)  # "KS-abc12345"
print(instruction.status)           # "pending_match" or "matched"
print(instruction.settlement_id)    # UUID if matched, None if pending

Parameters

FieldTypeRequiredDescription
template_slugstrYesSettlement template
rolestrYes"seller" or "buyer"
partydictYesYour party details
legslist[dict]YesWhat you’re delivering
timeout_atstr | datetimeYesSettlement timeout
idempotency_keystrYesUnique key for safe retries
trade_referencestrNoExisting reference to match
settlement_categorystrNo"repo_open" for repo lifecycle
maturity_atstr | datetimeNoRepo maturity date
repo_rateDecimal | strNoRepo interest rate
repayment_amountDecimal | strNoRepo closing leg amount

Return type: Instruction

FieldTypeDescription
idUUIDInstruction UUID
trade_referencestrTrade reference (generated if not provided)
statusstr"pending_match", "matched", "cancelled", "expired"
settlement_idUUID | NoneSettlement UUID if matched
template_slugstrTemplate used
rolestrSubmitted role
partydictParty details
legslist[dict]Leg details
timeout_atdatetimeSettlement timeout
expires_atdatetimeWhen this instruction expires
created_atdatetimeCreation timestamp

get / list / cancel

instruction = await client.instructions.get("instruction-uuid")

result = await client.instructions.list(status="pending_match", limit=20)
for instr in result.items:
    print(f"{instr.trade_reference}: {instr.status}")

cancelled = await client.instructions.cancel("instruction-uuid")