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)
| Field | Required | Notes |
|---|---|---|
quote_id | yes | must be ACCEPTED and unused |
beneficiary_id | yes | payout destination |
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.
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).