The Dutchman Bridge API

Settlement rails between stablecoins and fiat.

One API to move USDT, USDC and cNGN to bank accounts in African markets, and to pay recipients abroad from a local balance. Verification, pricing, custody and the ledger are ours, so every transfer can be reconciled after the fact.

Anatomy of one off-rampDiagram
  1. 01 · On chainDepositPer-customer addressUSDT · TRONtx hash
  2. 02 · LedgerConvertBalanced entriesRate and fees storedidempotency key
  3. 03 · BankPay outLicensed providerFiat to accountpayout reference
EventAccountEntry
deposit.receivedCustomer · USDTCredit
sale.completedCustomer · USDTDebit
sale.completedCustomer · fiatCredit
withdrawal.completedCustomer · fiatDebit

Every movement is a balanced pair, and every pair carries the hash or the payout reference that proves it.

01

Settlement, not speed

Speed is the claim that breaks the day a provider queues. These are the properties that hold on that day, and the mechanism behind each.

  1. 01A transfer either completes or is accounted for.Every movement is written as balanced ledger entries, each carrying the on-chain hash or payout reference behind it. Requests carry idempotency keys, so a retry cannot send twice. A corridor with no automated rail files an operator task instead of reporting a payout that did not happen.
  2. 02Every fee is a named component, not a margin hidden in the rate.Spread, exchange fee and payout fee are stored values, applied per transaction and returned with the quote. The same components appear on the record afterwards.
  3. 03Verification is a state, not a stamp.Tiered identity checks keyed to national identifiers, document and liveness at the higher tier, KYB for businesses. Each customer has one readable status and a webhook fires on every change. A reopened verification lists exactly what to resubmit, and why.
  4. 04Redundant where it matters, honest where it is not.Payouts route across more than one licensed provider where the corridor has them, with a declared fallback and a manual path of last resort. Verification runs on more than one provider, so onboarding continues if one is down.
02

Cross-border payouts from a local balance

A customer pays a recipient abroad from their local or stablecoin balance. Their money is converted to a stablecoin, and a payout partner delivers it to the recipient's bank in the local currency there. One API call, one quote, one record from debit to delivery.

  1. 01Verified once, abroadEach sender is onboarded with the payout partner in their own name — individuals from their verified ID, businesses with their owners and documents. A one-off fee, shown before submission.
  2. 02Priced before it is sentThe quote shows the exchange rate, what the conversion costs, the transfer fee and any delivery fee, and an estimate of what the recipient gets.
  3. 03Checked before money movesA reason for payment, the recipient’s bank details and address are required for the corridor before the sender is debited — never discovered missing afterwards.
  4. 04Refunded when it failsA payout the partner rejects is returned to the sender in full, fees included, and recorded against the same reference.
DestinationRail
United StatesBank transfer, operator-assisted
United Kingdom, eurozone, CanadaLocal rails via a payout partner
Mexico, Brazil, ColombiaLocal rails via a payout partner
ChinaOperator-assisted

Operator-assisted means a person submits the payout to the partner. It is described that way in the API too, so a send is never reported as delivered before it is.

03

Coverage, stated at the level the rail supports

MarketRailStatus
NigeriaAutomated, more than one licensed providerLive
Ghana, Kenya, Tanzania, Uganda, South AfricaProvider-dependentOn request
Stablecoins
USDT, USDC and cNGN — local-currency stablecoins as well as dollar ones.
Networks
Ethereum, Polygon, Arbitrum, Base, BSC and TRON.
Direction
Off-ramp first: stablecoins in, fiat out. Funding by virtual account where the corridor supports it.
04

One API, and the audit trail comes with it

Your users, your brand
Customers are registered through the API under your account. They never log in to Dutchman Bridge.
Your fees, on top of ours
Set your own fee per flow and currency. It is quoted to the customer and credited to your balance.
Signed webhooks with retries
Events are queued, signed and redelivered on failure, and every delivery is visible and replayable.
A deposit policy you choose
Decide what happens to a deposit that does not match its quote: refund it, or settle what arrived.
Read the API reference
Quote, execute, pay outcurl
# 1. Quote. The fee components come back with the rate.curl -X POST "$BASE/customers/$CUSTOMER_ID/sell/quote" \
  -H "x-api-key: $API_KEY" \
  -d '{ "amount": <amount>, "sourceCurrency": "USDT",
        "destinationCurrency": "<fiat>", "type": "sell" }'# 2. Execute the quote you showed the customer.curl -X POST "$BASE/customers/$CUSTOMER_ID/sell/execute" \
  -H "x-api-key: $API_KEY" \
  -d '{ "quoteId": "<from step 1>" }'# 3. Pay out. The same reference cannot pay twice.curl -X POST "$BASE/customers/$CUSTOMER_ID/withdraw" \
  -H "x-api-key: $API_KEY" \
  -d '{ "amount": <amount>, "reference": "<your id>" }'# Each step ends in a signed webhook.sale.completed  ·  withdrawal.completed

Access

Partners are onboarded after business verification.

Create an account, upload your company documents, and build against the API reference while compliance reviews them. Your key is issued on approval.