Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 48 additions & 27 deletions mintlify/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,57 +73,57 @@
]
},
{
"tab": "Payouts & B2B",
"tab": "Global Accounts & Payouts",
"groups": [
{
"group": "Overview",
"pages": [
"payouts-and-b2b/index",
"payouts-and-b2b/terminology",
"payouts-and-b2b/onboarding/implementation-overview",
"payouts-and-b2b/quickstart"
"global-accounts-and-payouts/index",
"global-accounts-and-payouts/terminology",
"global-accounts-and-payouts/onboarding/implementation-overview",
"global-accounts-and-payouts/quickstart"
]
},
{
"group": "Onboarding",
"pages": [
"payouts-and-b2b/onboarding/platform-configuration",
"payouts-and-b2b/onboarding/configuring-customers"
"global-accounts-and-payouts/onboarding/platform-configuration",
"global-accounts-and-payouts/onboarding/configuring-customers"
]
},
{
"group": "Managing accounts",
"pages": [
"payouts-and-b2b/depositing-funds/internal-accounts",
"payouts-and-b2b/depositing-funds/external-accounts"
"global-accounts-and-payouts/depositing-funds/internal-accounts",
"global-accounts-and-payouts/depositing-funds/external-accounts"
]
},
{
"group": "Sending payments",
"pages": [
"payouts-and-b2b/depositing-funds/depositing-funds",
"payouts-and-b2b/payment-flow/send-payment",
"payouts-and-b2b/payment-flow/list-transactions",
"payouts-and-b2b/payment-flow/reconciliation",
"payouts-and-b2b/payment-flow/error-handling"
"global-accounts-and-payouts/depositing-funds/depositing-funds",
"global-accounts-and-payouts/payment-flow/send-payment",
"global-accounts-and-payouts/payment-flow/list-transactions",
"global-accounts-and-payouts/payment-flow/reconciliation",
"global-accounts-and-payouts/payment-flow/error-handling"
]
},
{
"group": "Global Accounts",
"pages": [
"payouts-and-b2b/global-accounts/overview",
"payouts-and-b2b/global-accounts/client-keys",
"payouts-and-b2b/global-accounts/authentication",
"payouts-and-b2b/global-accounts/managing-sessions",
"payouts-and-b2b/global-accounts/exporting-wallet"
"global-accounts-and-payouts/global-accounts/overview",
"global-accounts-and-payouts/global-accounts/client-keys",
"global-accounts-and-payouts/global-accounts/authentication",
"global-accounts-and-payouts/global-accounts/managing-sessions",
"global-accounts-and-payouts/global-accounts/exporting-wallet"
]
},
{
"group": "Platform tools",
"pages": [
"payouts-and-b2b/platform-tools/webhooks",
"payouts-and-b2b/platform-tools/sandbox-testing",
"payouts-and-b2b/platform-tools/postman-collection"
"global-accounts-and-payouts/platform-tools/webhooks",
"global-accounts-and-payouts/platform-tools/sandbox-testing",
"global-accounts-and-payouts/platform-tools/postman-collection"
]
}
]
Expand Down Expand Up @@ -405,11 +405,32 @@
]
},
"redirects": [
{ "source": "/payouts-and-b2b/embedded-wallets/overview", "destination": "/payouts-and-b2b/global-accounts/overview" },
{ "source": "/payouts-and-b2b/embedded-wallets/client-keys", "destination": "/payouts-and-b2b/global-accounts/client-keys" },
{ "source": "/payouts-and-b2b/embedded-wallets/authentication", "destination": "/payouts-and-b2b/global-accounts/authentication" },
{ "source": "/payouts-and-b2b/embedded-wallets/managing-sessions", "destination": "/payouts-and-b2b/global-accounts/managing-sessions" },
{ "source": "/payouts-and-b2b/embedded-wallets/exporting-wallet", "destination": "/payouts-and-b2b/global-accounts/exporting-wallet" },
{ "source": "/payouts-and-b2b/index", "destination": "/global-accounts-and-payouts/index" },
{ "source": "/payouts-and-b2b/terminology", "destination": "/global-accounts-and-payouts/terminology" },
{ "source": "/payouts-and-b2b/quickstart", "destination": "/global-accounts-and-payouts/quickstart" },
{ "source": "/payouts-and-b2b/onboarding/implementation-overview", "destination": "/global-accounts-and-payouts/onboarding/implementation-overview" },
{ "source": "/payouts-and-b2b/onboarding/platform-configuration", "destination": "/global-accounts-and-payouts/onboarding/platform-configuration" },
{ "source": "/payouts-and-b2b/onboarding/configuring-customers", "destination": "/global-accounts-and-payouts/onboarding/configuring-customers" },
{ "source": "/payouts-and-b2b/depositing-funds/internal-accounts", "destination": "/global-accounts-and-payouts/depositing-funds/internal-accounts" },
{ "source": "/payouts-and-b2b/depositing-funds/external-accounts", "destination": "/global-accounts-and-payouts/depositing-funds/external-accounts" },
{ "source": "/payouts-and-b2b/depositing-funds/depositing-funds", "destination": "/global-accounts-and-payouts/depositing-funds/depositing-funds" },
{ "source": "/payouts-and-b2b/payment-flow/send-payment", "destination": "/global-accounts-and-payouts/payment-flow/send-payment" },
{ "source": "/payouts-and-b2b/payment-flow/list-transactions", "destination": "/global-accounts-and-payouts/payment-flow/list-transactions" },
{ "source": "/payouts-and-b2b/payment-flow/reconciliation", "destination": "/global-accounts-and-payouts/payment-flow/reconciliation" },
{ "source": "/payouts-and-b2b/payment-flow/error-handling", "destination": "/global-accounts-and-payouts/payment-flow/error-handling" },
{ "source": "/payouts-and-b2b/global-accounts/overview", "destination": "/global-accounts-and-payouts/global-accounts/overview" },
{ "source": "/payouts-and-b2b/global-accounts/client-keys", "destination": "/global-accounts-and-payouts/global-accounts/client-keys" },
{ "source": "/payouts-and-b2b/global-accounts/authentication", "destination": "/global-accounts-and-payouts/global-accounts/authentication" },
{ "source": "/payouts-and-b2b/global-accounts/managing-sessions", "destination": "/global-accounts-and-payouts/global-accounts/managing-sessions" },
{ "source": "/payouts-and-b2b/global-accounts/exporting-wallet", "destination": "/global-accounts-and-payouts/global-accounts/exporting-wallet" },
{ "source": "/payouts-and-b2b/platform-tools/webhooks", "destination": "/global-accounts-and-payouts/platform-tools/webhooks" },
{ "source": "/payouts-and-b2b/platform-tools/sandbox-testing", "destination": "/global-accounts-and-payouts/platform-tools/sandbox-testing" },
{ "source": "/payouts-and-b2b/platform-tools/postman-collection", "destination": "/global-accounts-and-payouts/platform-tools/postman-collection" },
{ "source": "/payouts-and-b2b/embedded-wallets/overview", "destination": "/global-accounts-and-payouts/global-accounts/overview" },
{ "source": "/payouts-and-b2b/embedded-wallets/client-keys", "destination": "/global-accounts-and-payouts/global-accounts/client-keys" },
{ "source": "/payouts-and-b2b/embedded-wallets/authentication", "destination": "/global-accounts-and-payouts/global-accounts/authentication" },
{ "source": "/payouts-and-b2b/embedded-wallets/managing-sessions", "destination": "/global-accounts-and-payouts/global-accounts/managing-sessions" },
{ "source": "/payouts-and-b2b/embedded-wallets/exporting-wallet", "destination": "/global-accounts-and-payouts/global-accounts/exporting-wallet" },
{ "source": "/ramps/embedded-wallets/overview", "destination": "/ramps/global-accounts/overview" },
{ "source": "/ramps/embedded-wallets/client-keys", "destination": "/ramps/global-accounts/client-keys" },
{ "source": "/ramps/embedded-wallets/authentication", "destination": "/ramps/global-accounts/authentication" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { FeatureCard, FeatureCardGrid } from '/snippets/feature-card.mdx';
## Next steps

<FeatureCardGrid cols={2}>
<FeatureCard icon="/images/icons/globe.svg" title="Cross-currency transfers" href="/payouts-and-b2b/quickstart">
<FeatureCard icon="/images/icons/globe.svg" title="Cross-currency transfers" href="/global-accounts-and-payouts/quickstart">
Learn how to send international payments using external accounts
</FeatureCard>
<FeatureCard icon="/images/icons/code.svg" title="API Reference" href="/api-reference">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import { FeatureCard, FeatureCardGrid } from '/snippets/feature-card.mdx';
## Next steps

<FeatureCardGrid cols={2}>
<FeatureCard icon="/images/icons/bank.svg" title="External accounts" href="/payouts-and-b2b/depositing-funds/external-accounts">
<FeatureCard icon="/images/icons/bank.svg" title="External accounts" href="/global-accounts-and-payouts/depositing-funds/external-accounts">
Learn how to add customer bank accounts as withdrawal destinations
</FeatureCard>
<FeatureCard icon="/images/icons/globe.svg" title="Cross-currency transfers" href="/payouts-and-b2b/quickstart">
<FeatureCard icon="/images/icons/globe.svg" title="Cross-currency transfers" href="/global-accounts-and-payouts/quickstart">
Use internal account balances to send international payments
</FeatureCard>
<FeatureCard icon="/images/icons/code.svg" title="API Reference" href="/api-reference">
Expand Down
102 changes: 102 additions & 0 deletions mintlify/global-accounts-and-payouts/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: "Global Accounts & Payouts"
sidebarTitle: "Introduction"
icon: "/images/icons/paper-plane-top-right.svg"
mode: "wide"
"og:image": "/images/og/og-payouts-b2b.png"
---

import { payToBankProductName, topLevelProductName } from '/snippets/variables.mdx';
import PaymentFlow from '/snippets/payment-flow.mdx';
import CountrySupport from '/snippets/country-support.mdx';
import { FeatureCard, FeatureCardGrid } from '/snippets/feature-card.mdx';

<img
src="/images/heroes/hero-payouts.jpg"
alt="Global Accounts & Payouts hero"
className="page-hero"
/>

{topLevelProductName} packages two products into a single integration so platforms can give their customers a branded dollar account *and* send and receive payments to bank accounts worldwide — through one API.

- **Global Accounts** give each customer a branded, self-custody dollar account that holds a stable balance and can move money out through any supported {topLevelProductName} rail.
- **Payouts** route low-cost real-time payments across the {topLevelProductName} switch network, handling FX, blockchain settlement, and instant banking off-ramps for you.

<FeatureCardGrid cols={3}>
<FeatureCard icon="/images/icons/wallet1.svg" title="Branded dollar accounts">
Issue a Global Account to every customer without building wallet, FX, or banking infrastructure from scratch.
</FeatureCard>
<FeatureCard icon="/images/icons/lightning.svg" title="Instant conversion">
A single API converts between fiat and stablecoins on the fly, routing each payment across the Money Grid.
</FeatureCard>
<FeatureCard icon="/images/icons/globe.svg" title="Global settlement">
Local instant banking rails (ACH, SEPA, PIX, UPI, FPS, CLABE, IBAN) plus crypto rails for real-time delivery.
</FeatureCard>
<FeatureCard icon="/images/icons/shield.svg" title="Customer authorization">
Outbound account actions are signed by the customer's device — Grid never has unilateral access to user funds.
</FeatureCard>
<FeatureCard icon="/images/icons/bell.svg" title="Webhooks & reconciliation">
Track funding, withdrawals, and settlement state changes with standard transaction webhooks.
</FeatureCard>
<FeatureCard icon="/images/icons/bitcoin.svg" title="Native Bitcoin">
Stablecoin and Bitcoin flows share the same account and quote model where enabled for your platform.
</FeatureCard>
</FeatureCardGrid>

## What you can build today

Use the current {topLevelProductName} API to:

- Create and KYC/KYB-verify customers before funds move to or from fiat rails
- Provision a Global Account per customer and find it by listing internal accounts
- Fund accounts via prefunded balances, ACH, SEPA Instant, wire, Lightning, or stablecoin deposits
- Generate quotes for cross-border payouts with a locked exchange rate
- Withdraw to bank accounts on supported local rails worldwide
- Require customer authorization for outbound movement using signed requests
- Register credentials, issue sessions, revoke sessions, and export wallet credentials
- Reconcile activity with transaction webhooks
- Test the full flow in sandbox before production launch

<PaymentFlow/>

## How customers interact with {topLevelProductName}

<Tabs>
<Tab title="API">
Programmatic access to create customers, provision Global Accounts, generate quotes, fund accounts, send payments, and reconcile via webhooks.
</Tab>
<Tab title="Dashboard">
Your development and operations team can monitor payments and webhooks, manage API keys and environments, and troubleshoot with logs.
</Tab>
</Tabs>

Implementing {topLevelProductName} is a few discrete steps — here's the high-level flow.

### Onboarding customers

<Info>
{topLevelProductName} has two customer onboarding options — one for non-regulated entities where {topLevelProductName} handles the KYC/KYB process, and one for regulated entities where you handle the KYC/KYB process.

When creating customers, you can also connect external accounts or internal accounts to a specific customer and add accounts for counterparties on the receiving end.
To learn more about accounts read our [internal accounts guide](/global-accounts-and-payouts/depositing-funds/internal-accounts) or setting up [external accounts guide](/global-accounts-and-payouts/depositing-funds/external-accounts).
</Info>

### Funding accounts and payments
{topLevelProductName} supports multiple funding options including prefunded accounts, real-time funding, and Global Account balances. You can prefund an internal account using ACH, SEPA Instant, wire transfers, Lightning, and more.

With real-time funding, you'll receive payment instructions as part of the quote. Once the funding is received, {topLevelProductName} initiates the payment to the receiver.

### Sending payments
To send a payout, onboard a customer (and the counterparty if needed), then create and execute a quote. {topLevelProductName} resolves the receiver by external bank details, returns min/max and an exchange rate, and provides funding instructions. Once funded, {topLevelProductName} handles FX and delivery to the receiving account. Withdrawals from a Global Account follow the same pattern, with the customer's signature attached on execute.

### Environments

<Note>
{topLevelProductName} supports two environments: Sandbox and Production. Sandbox mirrors production behavior and webhooks so you can test receiver resolution, quotes and funding instructions, settlement status changes, and full end‑to‑end flows without moving real funds. Production uses live credentials and base URLs for real payments once you're ready to launch.
</Note>

---

### Country availability

<CountrySupport />
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ If validation fails, the API will return a 400 Bad Request response with detaile

## Best Practices

1. **Identity Verification**: Choose a proper KYC/KYB identity verification flow as detailed in the [Quickstart Guide](/payouts-and-b2b/quickstart#choosing-your-onboarding-flow)
1. **Identity Verification**: Choose a proper KYC/KYB identity verification flow as detailed in the [Quickstart Guide](/global-accounts-and-payouts/quickstart#choosing-your-onboarding-flow)
2. **Data Security**: Store and transmit customer data securely, following data protection regulations
3. **Regular Updates**: Keep customer information up to date, especially banking details
4. **Error Handling**: Implement proper error handling to manage validation failures gracefully
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,13 +343,13 @@ async function fetchWithRetry(url, retries = 3) {
## Next steps

<FeatureCardGrid cols={2}>
<FeatureCard icon="/images/icons/paper-plane-top-right.svg" title="Send Payments" href="/payouts-and-b2b/payment-flow/send-payment">
<FeatureCard icon="/images/icons/paper-plane-top-right.svg" title="Send Payments" href="/global-accounts-and-payouts/payment-flow/send-payment">
Learn how to send payments from internal accounts
</FeatureCard>
<FeatureCard icon="/images/icons/receipt-check.svg" title="Reconciliation" href="/payouts-and-b2b/payment-flow/reconciliation">
<FeatureCard icon="/images/icons/receipt-check.svg" title="Reconciliation" href="/global-accounts-and-payouts/payment-flow/reconciliation">
Match payments with your internal accounting systems
</FeatureCard>
<FeatureCard icon="/images/icons/square-info.svg" title="Error Handling" href="/payouts-and-b2b/payment-flow/error-handling">
<FeatureCard icon="/images/icons/square-info.svg" title="Error Handling" href="/global-accounts-and-payouts/payment-flow/error-handling">
Handle transaction failures and errors
</FeatureCard>
</FeatureCardGrid>
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ Before sending payments, ensure you have:

<Tip>
If you don't have these set up yet, review the [Internal
Accounts](/payouts-and-b2b/depositing-funds/internal-accounts) and [External
Accounts](/payouts-and-b2b/depositing-funds/external-accounts) guides first.
Accounts](/global-accounts-and-payouts/depositing-funds/internal-accounts) and [External
Accounts](/global-accounts-and-payouts/depositing-funds/external-accounts) guides first.
</Tip>

## Same-Currency Transfers
Expand Down Expand Up @@ -402,7 +402,7 @@ app.post("/webhooks/grid", (req, res) => {
```

<Tip>
See the [Webhooks guide](/payouts-and-b2b/platform-tools/webhooks) for complete
See the [Webhooks guide](/global-accounts-and-payouts/platform-tools/webhooks) for complete
webhook implementation details including signature verification.
</Tip>

Expand Down Expand Up @@ -485,13 +485,13 @@ await db.payments.update(
## Next Steps

<FeatureCardGrid cols={2}>
<FeatureCard icon="/images/icons/square-info.svg" title="Error Handling" href="/payouts-and-b2b/payment-flow/error-handling">
<FeatureCard icon="/images/icons/square-info.svg" title="Error Handling" href="/global-accounts-and-payouts/payment-flow/error-handling">
Handle payment failures and error scenarios
</FeatureCard>
<FeatureCard icon="/images/icons/file-text.svg" title="List Transactions" href="/payouts-and-b2b/payment-flow/list-transactions">
<FeatureCard icon="/images/icons/file-text.svg" title="List Transactions" href="/global-accounts-and-payouts/payment-flow/list-transactions">
Query and filter transaction history
</FeatureCard>
<FeatureCard icon="/images/icons/receipt-check.svg" title="Reconciliation" href="/payouts-and-b2b/payment-flow/reconciliation">
<FeatureCard icon="/images/icons/receipt-check.svg" title="Reconciliation" href="/global-accounts-and-payouts/payment-flow/reconciliation">
Match payments with your internal systems
</FeatureCard>
</FeatureCardGrid>
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,6 @@ When you're ready to move to production:

## Next Steps

- Review [Webhooks](/payouts-and-b2b/platform-tools/webhooks) for event handling
- Check out the [Postman Collection](/payouts-and-b2b/platform-tools/postman-collection) for API examples
- See [Error Handling](/payouts-and-b2b/payment-flow/error-handling) for production error strategies
- Review [Webhooks](/global-accounts-and-payouts/platform-tools/webhooks) for event handling
- Check out the [Postman Collection](/global-accounts-and-payouts/platform-tools/postman-collection) for API examples
- See [Error Handling](/global-accounts-and-payouts/payment-flow/error-handling) for production error strategies
Loading
Loading