Global Payouts API
Overview
Create a payout transaction to a selected Channel
on behalf of a given customer by settling in your chosen CryptoCurrency
and providing the Dynamic Form data required to complete the transaction. Payout transactions, by default, are settled from the reserve balance held in your NOAH crypto account - where cryptocurrencies are network agnostic. For more details on this product, see the Global Payouts API Product page.
Prerequisites
1. Register Your Interest
- Register your interest or book a demo by contacting us on business@noah.com.
- Signup for a Sandbox account and contact us to upgrade it to a business account.
2. Authentication & Request Signing
For guidance on generating and configuring your API keys, see the Authentication page.
- Generate your Sandbox API key via the Business Dashboard.
- Include your API key in the
X-Api-Key
header of all requests. - Request Signing is optional in Sandbox and required in Production. It is important to setup Request Signing before migrating to Production, to do this see the Request Signing page.
3. Webhook Configuration
For guidance on webhook subscriptions and configuration, see the Configuration page.
- Optionally whitelist NOAH's Webhook IP addresses, detailed on the Whitelisting section.
- Create a webhook subscription for the following event type, the details required to ingest the webhooks are also available on the respective page.
Transaction
- see Transaction Event.
Throughout the execution of a payout, you will receive one type of webhook, in two cases:
Transaction
- to notify you when the transaction has been created - this will begin with thePending
status.Transaction
- to notify you when the transaction's status has changed to any of:Pending
,Settled
orFailed
.
Execution Steps
1. Create a Customer
When integrating under the Reliance Model, you must ensure that any customer executing a transaction has a valid and complete KYC Status in your system.
- Create a customer, if not already created, via the Customers endpoint.
- Ensure your
CustomerID
is stored against the compliance profile of the same customer, to reference when creating transactions.
2. Define the Payout Channel
- Retrieve the list of available countries by calling the Supported Countries endpoint.
- Determine the
FiatCurrency
as an ISO 4217 currency code. - Retrieve a list of compatible channels by calling the Supported Channels endpoint, providing your settlement
CryptoCurrency
,FiatCurrency
andCountry
.
3. Render or Populate the Dynamic Form
- Call the Dynamic Form endpoint with the selected
ChannelID
to retrieve theFormSchema
. - Render the
FormSchema
on your interface to collect input from your customers, or populate the required fields from pre-existing data.