Guide to sending a Noah stablecoin payout in 2026
Noah’s Global Payout API converts USDC into local fiat and pays recipients via SEPA, Fedwire or mobile money. It requires five API calls, a runtime channel lookup, a unique Nonce and a signed JWT.
Noah’s Global Payout API converts stablecoins held in a business balance into local fiat and delivers payments via bank rails, mobile money and other local methods. The transaction is implemented as a sell: the platform funds the sale from its Noah balance, Noah converts the stablecoin and the fiat leg is sent on a channel selected at runtime.
Integrations call five endpoints in order: list sell countries, list sell channels for a country and currency, fetch the channel-specific form, prepare the transaction, and submit the sell. Every request requires an X-Api-Key header. Production calls must include an Api-Signature JWT signed with ES384 or ES256 and an audience of https://api.noah.com. Sandbox uses https://api.sandbox.noah.com/v1 and demo assets carry a _TEST suffix.
Platforms must register as a business account and create or update recipients via PUT /customers/{CustomerID} before sending payouts. Noah documents two compliance models. The Standard model uses Noah-hosted KYC onboarding for technology providers without licenses. The Reliance model is for regulated entities that retain full KYC responsibility and must keep valid, unexpired customer KYC on file for each transaction.
Channels are runtime payment routes that include country, fiat currency, payment method, fees and limits. Channel IDs and limits can change, so Noah’s documentation requires fetching channel IDs at runtime; caching or hardcoding channel IDs is not supported. Each channel exposes a dynamic JSON Schema form that specifies required recipient fields, for example account number and 9-digit routing code for a US Fedwire channel or a DE-prefixed IBAN pattern for a German SEPA channel. Passing an existing PaymentMethodID reduces the form fields returned for repeat recipients.
The prepare call (POST /transactions/sell/prepare) returns four values that integrators must persist: CryptoAmountEstimate, CryptoAuthorizedAmount, FormSessionID and TotalFee in the payout fiat currency. CryptoAuthorizedAmount is a ceiling Noah may charge; if the final price exceeds that ceiling Noah may cancel and refund available balance. Every sell requires a globally unique Nonce (a UUID) that guarantees idempotency for the transaction and does not expire, allowing safe retries when responses are lost.
Transaction webhooks report creation and changes to Status (Pending, Failed, Settled), SubStatus while Pending, Refunds and RFI state. Noah’s RFI flow gives recipients 10 days to provide requested documents before a transaction is rejected and refunded. For payouts funded from a prefunded dashboard balance, refunds return to the custodian stablecoin account.
A sandbox example in Noah’s documentation shows a $1,000 Fedwire payout with demo values: TotalFee 0.03, CryptoAmountEstimate 1000.03 and CryptoAuthorizedAmount 1010.03. The CryptoAuthorizedAmount in that example is 10.00 USDC above the estimate. Noah does not publish a fixed fee schedule; channel responses act as live quotes and production integrations should use live pricing endpoints to size ceilings and buffers.
Noah also offers an Automated Payout workflow that triggers fiat payouts when an onchain deposit is detected and does not require prefunding. Global Payout (sell) requires a prefunded Noah balance and a sell API call per payout. Noah’s product page notes hosted offramp and manual dashboard payout options and states white-label integration timelines of roughly two to three weeks from contract to go-live.
For go-live testing, Noah’s documentation advises starting in sandbox, subscribing to the Transaction webhook, running one customer through one channel, performing a prepare and a Nonce-protected sell, and confirming a Settled webhook before switching to production keys and enforcing Api-Signature signing.








