Create a fiat settlement

POST
/v1/merchants/{merchantId}/settlements/fiat

Authorization

apiKey
headerApi-Key<token>

Partner API key.

Path Parameters

merchantId*string

Header Parameters

Idempotency-Key*string

Unique key to ensure idempotent request processing. Max 255 characters.

Lengthlength <= 255

Request Body

application/json
  1. body
bankDetails*|

Bank account that will receive fiat settlements. bankType discriminates the schema: SEPA requires iban; ACH requires accountNumber, routingNumber, and phoneNumber. Currency is implicit — SEPA settles in EUR, ACH in USD.

businessDetails*

Business identity details collected for KYB verification.

Response Body

Fiat settlement created. The merchant must complete KYB at kybUrl to activate routing.

application/json
  1. response
id*string

Fiat settlement ID. Stable identifier — safe to persist on the partner side.

status*string

Fiat settlement status. pending_kyb immediately after creation — the merchant must complete KYB at kybUrl before payments can route to this account. Transitions to active on KYB approval; rejected if KYB fails.

kybUrl*|

URL the merchant must visit to complete KYB verification. Returned at creation; treat as short-lived (hours to days). null only when no merchant action is pending.

curl -X POST 'https://api.merchant.pay.walletconnect.com/v1/merchants/string/settlements/fiat' \  -H 'Idempotency-Key: string' \  -H 'Content-Type: application/json' \  -d '{  "bankDetails": {    "accountHolderName": "Acme Corp Inc",    "bankName": "Chase",    "bankCountry": "st",    "bankType": "SEPA",    "iban": "FR1420041010050500013M02606"  },  "businessDetails": {    "businessName": "Acme Corp Inc",    "address": {      "line1": "350 Fifth Avenue",      "city": "New York",      "state": "NY",      "country": "st",      "zip": "10118"    }  }}'
{  "id": "fiat_Bk4nWp8XmQj2YrTv6",  "status": "pending_kyb",  "kybUrl": "https://kyb.iron.io/verify/abc123"}