API CONTRACT
One API. The entire settlement lifecycle.
Success payloads use { data, meta }; errors use { error: { code, message, retryable } }. Base URL: /api.
POST
/v1/settlementsCreate settlement
Idempotent by request_id: 201 when created, 200 on an identical replay, 409 IDEMPOTENCY_CONFLICT when the payload differs.
curl --request POST '/api/v1/settlements' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"request_id": "acq-0001",
"corridor_id": "<64 hex characters>",
"payer_wallet": "<payer public key>",
"recipient_wallet": "<recipient public key>",
"source_amount": "500000000",
"destination_amount": "89550000",
"expires_at": "2026-10-11T15:00:00.000Z"
}'