Skip to main content

Endpoint

POST https://api.thiqwave.com/v1/accounts

Description

Create a fiat settlement account or a stablecoin wallet. Fiat accounts are corridor-specific and ready to receive funds. Stablecoin wallets can be managed (Thiqwave provisions the address) or external (you supply your own address).
Use the Idempotency-Key header when creating accounts to safely retry the request without the risk of creating duplicates.

Request

Headers

X-API-Key
string
required
Your Thiqwave API key.
Content-Type
string
required
Must be application/json.
Idempotency-Key
string
A unique string (e.g. a UUID) that you generate per request. If you retry a request with the same key, Thiqwave returns the original response instead of creating a duplicate account. Recommended for all account creation requests.

Body

type
string
required
Account type. One of: "fiat" or "stablecoin".
currency
string
required
Currency code. For fiat: "AED" (UAE Dirham) or "SAR" (Saudi Riyal). For stablecoin: "USDC" or "USDT".
corridor
string
Required for fiat accounts. Corridor code: "uae" or "ksa".
network
string
Required for stablecoin wallets. Blockchain network: "polygon", "ethereum", or "arbitrum".
wallet_mode
string
Required for stablecoin wallets. Mode: "managed" (Thiqwave provisions address) or "external" (you supply address).
external_address
string
Required if wallet_mode is "external". The blockchain address to use for this wallet.
label
string
Friendly name for the account. Optional.

Example requests

Create fiat account (AED in UAE)

curl -X POST https://api.thiqwave.com/v1/accounts \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{
    "type": "fiat",
    "currency": "AED",
    "corridor": "uae",
    "label": "UAE Operations Account"
  }'

Create managed stablecoin wallet (USDC on Polygon)

curl -X POST https://api.thiqwave.com/v1/accounts \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440001" \
  -d '{
    "type": "stablecoin",
    "currency": "USDC",
    "network": "polygon",
    "wallet_mode": "managed",
    "label": "USDC Polygon Treasury"
  }'

Response

A 201 Created response returns the newly created account or wallet object.
id
string
The unique account ID. Use this to retrieve the account or reference it in transactions.
type
string
The account type: "fiat" or "stablecoin".
status
string
The current account status: "active", "frozen", or "closed".
currency
string
The account currency code.
corridor
string
For fiat accounts: the corridor code ("uae" or "ksa").
network
string
For stablecoin wallets: the blockchain network.
wallet_mode
string
For stablecoin wallets: "managed" or "external".
address
string
For managed stablecoin wallets: the blockchain address provisioned by Thiqwave.
label
string
Friendly name for the account.
created_at
string
The ISO 8601 timestamp of when the account was created.

Example response

{
  "id": "acc_01HZ5NM2XDQE8F1G7HKRWS4JV",
  "type": "stablecoin",
  "status": "active",
  "currency": "USDC",
  "network": "polygon",
  "wallet_mode": "managed",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
  "label": "USDC Polygon Treasury",
  "created_at": "2026-04-08T12:00:00Z"
}

Error responses

StatusCodeDescription
400VALIDATION_ERROROne or more request fields are invalid or missing.
401UNAUTHORIZEDYour API key is missing or invalid.
409DUPLICATE_ACCOUNTAn account with this configuration already exists.
422UNSUPPORTED_COMBINATIONThe currency, network, or corridor combination is not supported.