Skip to main content

Create Transfer

The Transfers API is the primary way to move value through Thiqwave. Specify a source and a destination — Thiqwave handles the conversion, routing, and settlement automatically. A transfer can move value between any combination of fiat and stablecoin:

Endpoint

Request Headers

Request Body

Source Object

Destination Object

Examples

On-ramp: AED to USDC on Sui

Off-ramp: USDT on Ethereum to GBP

Cross-chain bridge: USDC on Solana to USDC on Ethereum

Swap: USDT on Ethereum to USDC on Sui

Fiat-to-fiat (stablecoin sandwich): AED to EUR

Response

payment_instructions is only present when the source is fiat and requires a bank deposit. Use these details to complete the transfer.

Response Fields

Transfer States

Amount Format

The Transfers API uses human-readable string amounts for simplicity (e.g., "1000.00" for 1000 AED). The granular endpoints (pay-ins, payouts) use smallest-unit integers (e.g., 50000 for 500 AED). Both formats are valid within their respective endpoints.

Payment Rails

  • "bank_transfer" — Standard bank transfer (wire, SWIFT). Available in all corridors.
  • "instant" — Instant payment networks where available (e.g., IPP in UAE). Faster settlement, may have different fee structure.

Notes

  • All transfers require a valid, non-expired quote.
  • For fiat sources, complete the bank deposit using the payment_instructions in the response.
  • Monitor transfer status via GET /v1/transfers/{id} or webhooks.
  • Use Idempotency-Key to safely retry transfers without creating duplicates.