# NOAH > NOAH Checkout and Orchestration API Documentation Noah moves money between local fiat currencies, bitcoin and stablecoins through a single Business API: bank onramp (fiat-to-crypto), global payouts (crypto-to-fiat), automated payouts, and hosted checkout. Every page on this site is also published as Markdown. Append `.md` to any documentation URL, or send `Accept: text/markdown`, to get the source instead of the rendered HTML. Facts an agent cannot infer by reading the guides: - Base URLs: `https://api.sandbox.noah.com/v1` (sandbox) and `https://api.noah.com/v1` (production). - Every request carries an `X-Api-Key` header. The `Api-Signature` JWT header is mandatory in production and optional in sandbox only while the API key has no signing public key attached. - Sandbox cryptocurrencies always carry a `_TEST` suffix, for example `BTC_TEST` and `USDC_TEST`. - Channel IDs must be read from `GET /channels/sell` at runtime. They are not stable enough to hardcode or cache, and their limits change. - Payout sequence: `GET /channels/sell`, then `GET /channels/{ChannelID}/form`, then `POST /transactions/sell/prepare`, then `POST /transactions/sell`. - Payin sequence: `POST /workflows/bank-deposit-to-onchain-address` for an API-driven flow, or `POST /hosted-workflows/bank-deposit-to-onchain-address` to hand the customer to Noah's UI. - Onboarding starts by choosing a compliance model: Reliance (the business is licensed and shares its own KYC via `PUT /customers/{CustomerID}`) or Standard (Noah runs KYC via `POST /onboarding/{CustomerID}` and `POST /onboarding/{CustomerID}/prefill`). - Track transaction and customer state with webhooks rather than polling. - Sandbox fiat deposits can be simulated with `POST /sandbox/fiat-deposit/simulate`. ## API Reference The guides below explain how the flows fit together. The endpoint contracts are not part of `llms-full.txt`, which carries the guides only — fetch them from here instead: - Every endpoint, with its method and path: https://docs.noah.com/api-reference/noah-business-api.md - A single endpoint, with parameters, request fields and responses: append `.md` to its reference URL, for example `/api-reference/create-sell-transaction.md`. - The authoritative OpenAPI 3.0 document: https://docs.noah.com/files/oas-schema.generated.json (large; prefer a single endpoint's `.md` unless you need the whole schema) Prefer a single page's `.md` over `/llms-full.txt`, which concatenates every guide and costs roughly 110,000 tokens to read. ## Table of Contents - [Business Dashboard](https://docs.noah.com/getting-started/business-dashboard.md): Monitor customers and payment activity, track balances across currencies, and create API keys and webhooks from Noah's Business Dashboard. - [Overview](https://docs.noah.com/index.md): Noah's Business Solutions provide payment rails in local fiat currencies, bitcoin and stablecoins, through the Business API or Noah's Hosted Checkout. - [Compliance Overview](https://docs.noah.com/getting-started/kyc.md): Noah supports two compliance models, Reliance and Standard, so regulated and unregulated businesses can both transact compliantly. - [Quick Start](https://docs.noah.com/getting-started/quick-start.md): Register for sandbox access, pick a compliance model, onboard your first customer, and submit your first transaction request against the Business API. - [Security Overview](https://docs.noah.com/getting-started/security-and-fraud.md): How Noah protects digital assets and personal information, and the fraud prevention practices applied across customer interactions. - [Automated Payout](https://docs.noah.com/products/automated-payouts.md): Accept customer deposits in cryptocurrency and automatically disburse local currency payments worldwide, cutting processing time from days to minutes. - [Payin via Virtual Account](https://docs.noah.com/products/bank-onramp.md): Accept bank transfers in local currency through a virtual account assigned to your customer, and settle instantly in cryptocurrency. - [Global Payout](https://docs.noah.com/products/global-payouts-api.md): Convert cryptocurrency to over 120 fiat currencies and pay out through local methods worldwide, from bank transfers to mobile money. - [Building with LLMs](https://docs.noah.com/recipes/building-with-llms.md): Every page here is published as Markdown, and llms.txt indexes it. How to point Claude, ChatGPT, Cursor or your own agent at these docs. - [Set Up Noah MCP in Cursor](https://docs.noah.com/recipes/mcp-cursor.md): Configure the Noah MCP server in Cursor so you can explore the Business API in natural language, with example prompts to try. - [Accounts](https://docs.noah.com/api-concepts/accounts.md): Business balances hold the total of each supported digital currency, readable through GET /balances or the Business Dashboard. - [Address Validation](https://docs.noah.com/api-concepts/address-validation.md): Country-specific rules for the StreetAddress object used by customer prefill, customer records, and checkout billing addresses. - [Channels](https://docs.noah.com/api-concepts/channels.md): A channel is a payment route with its own currencies, limits and form data. Channel IDs must be read at runtime, never hardcoded. - [Compliance Freezes, Refunds & Reversals](https://docs.noah.com/api-concepts/compliance-freezes-refunds-reversals.md): How Noah handles compliance freezes, refunds and reversals across payin and payout flows, and what each one means for a transaction. - [Dynamic User Interface](https://docs.noah.com/api-concepts/dynamic-ui.md): The Dynamic UI API leaves you in control of your frontend while Noah supplies the conditional, changing payment form requirements to render. - [Error Responses](https://docs.noah.com/api-concepts/errors.md): Every failing request returns the same JSON Error object. Reference for the Type values, their HTTP status mapping, and the extensions. - [Form Schemas](https://docs.noah.com/api-concepts/form-schemas.md): Form schemas are JSON Schema definitions describing the data a channel needs to complete a payment, and how to validate against them. - [Idempotence](https://docs.noah.com/api-concepts/idempotence.md): How Noah makes transaction requests safe to retry, and why its approach differs from the usual idempotency-key header. - [Introduction](https://docs.noah.com/api-concepts/introduction.md): The Business API is a REST API with resource-oriented URLs, JSON request and response bodies, and standard HTTP status codes and methods. - [KYC Platform](https://docs.noah.com/api-concepts/kyc.md): Noah verifies identity through Sumsub and can accept pre-existing KYC under triparty agreements, so a partner's customer is not reverified. - [Microdeposits](https://docs.noah.com/api-concepts/microdeposits.md): Setting up a USD ACH virtual account for bank withdrawals can require microdeposit verification to confirm account ownership. - [Virtual account countries by rail](https://docs.noah.com/api-concepts/supported-fiat-countries.md): Whether a customer can be issued a **virtual bank account** on EUR and USD banking rails, based on their - [Sandbox Testnet Currencies](https://docs.noah.com/api-concepts/testnet-currencies.md): Noah deploys its own _TEST suffixed tokens in sandbox so you can test large flows without faucet limits. Includes contract addresses. - [Transactions](https://docs.noah.com/api-concepts/transactions.md): A Transaction records any financial activity, including deposits, withdrawals, buys and sells, with its status and amounts. - [Managing Virtual Accounts](https://docs.noah.com/api-concepts/virtual-accounts.md): A virtual account is a set of bank payment methods, such as an IBAN or ACH routing details, assigned to a customer to fund conversions. - [API Keys](https://docs.noah.com/api-concepts/authentication/api.md): Create and manage Business API keys in the Business Dashboard, and the security practices the financial operations they authorise require. - [Overview](https://docs.noah.com/api-concepts/authentication/configuration.md): The Business API authenticates every request with an API key, and additionally with request signing, which is mandatory in production. - [Request Signing Keys](https://docs.noah.com/api-concepts/authentication/signing.md): Request signing proves each request is authentic. It is mandatory in production and conditional in sandbox on your API key configuration. - [Overview](https://docs.noah.com/api-concepts/webhooks/configuration.md): Configure webhooks to receive real-time HTTP notifications for the hosted onboarding, transaction and deposit events raised through your API keys. - [Customer Event](https://docs.noah.com/api-concepts/webhooks/customer.md): The Customer webhook fires when a customer completes Noah's hosted onboarding form and whenever their hosted onboarding status changes. - [FiatDeposit Event](https://docs.noah.com/api-concepts/webhooks/fiat-deposits.md): The FiatDeposit webhook fires when a customer sends a fiat deposit to an assigned bank account number, so your system can react as the money arrives. - [Webhook Lifecycle Flows](https://docs.noah.com/api-concepts/webhooks/lifecycle-flows.md): The sequence of webhooks you receive for each common transaction flow. - [Transaction Event](https://docs.noah.com/api-concepts/webhooks/transactions.md): The Transaction webhook fires when a transaction is created and on every status change, carrying the status that reflects its progress. - [Business Customer Prefill](https://docs.noah.com/recipes/onboarding/business-customer-prefill.md): Submit KYB details for a business customer over the API for manual review by Noah, and receive a Customer webhook once the customer is approved. - [Choosing Your Onboarding Method](https://docs.noah.com/recipes/onboarding/choosing-onboarding-method.md): Compare Noah's onboarding methods and pick one based on your licensing arrangement, business model and technical requirements. - [Hosted Onboarding](https://docs.noah.com/recipes/onboarding/hosted-onboarding.md): Hand KYB and KYC verification to Noah under the Standard model, where Noah contracts directly with your end customers. - [Individual Customer Prefill](https://docs.noah.com/recipes/onboarding/individual-customer-prefill.md): Pre-populate the KYC questionnaire for an individual customer over the API, then run a hosted session to collect the remaining requirements. - [Reliance Onboarding](https://docs.noah.com/recipes/onboarding/reliance-onboarding.md): Create a customer with PUT /customers/{CustomerID} under the Reliance model, sharing your own KYC data before any operation needs it. - [Token Share Onboarding](https://docs.noah.com/recipes/onboarding/token-share-onboarding.md): Share pre-existing KYC data from an authorised partner organisation using a Sumsub share token, instead of verifying the customer again. - [Bank Onramp via EUR Virtual Account](https://docs.noah.com/recipes/payin/bank-onramp-eu.md): Assign an IBAN to a customer for repeatable EUR deposits that convert to cryptocurrency, optionally withdrawn to an address. - [Bank Onramp via USD Virtual Account](https://docs.noah.com/recipes/payin/bank-onramp-us.md): Assign ACH routing details to a customer for repeatable USD deposits that convert to cryptocurrency, optionally withdrawn to an address. - [Direct Automated Payout](https://docs.noah.com/recipes/payout/automated-payouts.md): Create a workflow that triggers a fiat payout whenever a crypto deposit is detected, removing the need to pre-fund. - [Full Liquidation Payout](https://docs.noah.com/recipes/payout/full-liquidation-payout.md): Configure POST /workflows/onchain-deposit-to-payment-method to sell a whole crypto deposit as fiat, including the sell/prepare step. - [Direct Payout to US Business](https://docs.noah.com/recipes/payout/global-payouts-business.md): Convert cryptocurrency and pay a US business bank account directly, over ACH transfer, wire transfer or tokenized card. - [Direct Payout to Individual Customer](https://docs.noah.com/recipes/payout/global-payouts-individual.md): Convert cryptocurrency and pay an individual's bank account directly, over ACH transfer, wire transfer or tokenized card. - [Hosted Fiat Payout Session](https://docs.noah.com/recipes/payout/hosted-checkout.md): Send a customer to a hosted checkout that handles KYC verification, payment method selection and crypto-to-fiat conversion end to end.