Skip to main content

Transactions

A transaction materialises an accepted Flow B quote and runs the settlement workflow. Idempotency-Key required.

Create

TRANSACTION_ID=$(curl -s -X POST "$BASE_URL/v1/transactions" \
-H "X-API-Key: $THIQWAVE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "'"$QUOTE_ID"'",
"beneficiary_id": "'"$BENEFICIARY_ID"'"
}' | jq -r .id)
FieldRequiredNotes
quote_idyesmust be ACCEPTED and unused
beneficiary_idyespayout destination
LIVE — real funds

Creating a transaction with a LIVE key starts real settlement. Validate on TEST first.

States

CREATED → QUOTE_ACCEPTED → COMPLIANCE_PENDING → COMPLIANCE_APPROVED → COLLECTION_PENDING → COLLECTION_CONFIRMED → SETTLEMENT_PENDING → SETTLEMENT_PROCESSING → SETTLEMENT_COMPLETED → PAYOUT_PENDING → PAYOUT_PROCESSING → PAYOUT_COMPLETED

Terminal/exception: COMPLIANCE_REJECTED, FAILED, CANCELLED, REQUIRES_MANUAL_REVIEW, REVERSED.

Provider status ≠ settlement status

state is the validated platform state. Never infer finality from a raw provider response or chain hash. SETTLEMENT_COMPLETED is the only final signal.

Get / List

curl "$BASE_URL/v1/transactions/$TRANSACTION_ID" -H "X-API-Key: $THIQWAVE_API_KEY"
curl "$BASE_URL/v1/transactions?limit=25" -H "X-API-Key: $THIQWAVE_API_KEY"

Amounts in responses are strings (source_amount_minor, destination_amount_minor).

Next steps