Figo API
One API moves money across currencies and crypto. Anything in, anything out. You can take money in as a local currency or as a digital asset. You can send money out as a local currency or as a digital asset.
The source and the destination are fully independent. Thus one request can do a movement that other APIs cannot do in one call. Two examples are naira in with Bitcoin out, and USDT in with euros out.
You work in USD. We operate the local rails, the currency exchange, and the on-chain settlement.
Status. This guide tracks the API as it ships. Endpoints marked Available are live today; In development ones show the intended contract so you can design against them now.
Integrate in minutes
There are three ways in. Select one by how much code you want to write.
AI agents — MCP
Point Claude, Cursor or your own agent at these docs, then at your account. The docs server takes no API key.
{
"mcpServers": {
"figo-docs": {
"type": "http",
"url": "https://docs.spendfigo.com/mcp"
}
}
}
REST API
One header, any language. Nothing to install and no SDK to keep in sync.
curl https://devapi.spendfigo.com/v1/balance \
-H "x-api-key: $FIGO_KEY"
Payment links
No integration on the payer's side at all — create a link, share the URL, get paid.
curl -X POST https://devapi.spendfigo.com/v1/payment-links \
-H "x-api-key: $FIGO_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 25, "title": "Design retainer"}'
What you can build
| If you want to… | Use |
|---|---|
| Put a payment page in front of one customer | Checkout |
| Bill the same customer every month | Subscriptions |
| Collect from customers in their local currency | Collections |
| Give each customer a reusable account to pay into | Virtual accounts |
| Pay suppliers, staff, or users in their local currency | Payouts |
| Accept crypto and settle in USD (or vice-versa) | Collections / Payouts |
| Move value across any currency/asset pair in one call | Orchestrate |
| Get notified the moment money moves | Webhooks |
Common shapes: cross-border payroll, marketplace payouts, local-currency checkout with USD settlement, crypto on/off-ramps, and treasury movement between assets.
Orchestrate — anything in, anything out
This is our most important endpoint. Most payment APIs collect in one currency and pay out in the same currency.
Figo makes the two sides independent. Each side is fiat, a local currency, or crypto, any asset on any chain. We connect the two sides for you:
SOURCE → ( settled in USD ) → DESTINATION
| Pay in… | …pay out | Example |
|---|---|---|
| Naira (NGN) | Bitcoin | NGN bank transfer → BTC to a wallet |
| Bitcoin | Euros | BTC → EUR bank account |
| USDT | Kenyan shillings | USDT → KES mobile money |
| Any crypto | Any crypto | move value between assets/chains |
One endpoint, every combination. → Orchestrate reference · Recipes
The focused flows
When you need only one side, use the single-purpose endpoints:
- Collect — accept a local currency by bank transfer or mobile money, or accept crypto. We add USD to your balance.
- Virtual accounts — give a customer a permanent account number. The customer can pay into it at any time, and each payment adds to your balance.
- Pay out — send a local currency or crypto to a recipient. We subtract the USD from your balance.
- Track — follow each movement on a clear timeline. You can also get webhook events.
Below all of this, your balance is USD. Money comes in and settles through a stablecoin rail. You never touch that rail. The money then goes out in the form that the destination needs.
This is what makes anything to anything possible, and it keeps the pricing honest. For a crypto side, you work in the exact asset and network. For a fiat side, you work in the local currency.
Start here
- Getting started — your first successful API call in under five minutes.
- Authentication — API keys, environments, and headers.
- Conventions — response envelope, pagination, idempotency, and errors. Read once; it applies to every endpoint.
- The money model — how corridors, balances, and settlement fit together. The mental model that makes the rest obvious.
- Transaction lifecycle — stages, statuses, and the progress timeline you render to your users.
Are you new here? The Recipes give complete flows for the most common movements. Build with AI shows you how to connect the API to an agent.
The interactive reference is at /api-reference. There you can
send requests to sandbox from your browser.
API reference
| Resource | Status | Guide |
|---|---|---|
| Checkout sessions | Available | checkout |
| Subscriptions (recurring invoicing) | Available | subscriptions |
| Orchestrate (anything → anything) | Available | orchestrate |
| Collections (pay-ins) | Available | collections |
| Virtual accounts | Available | virtual-accounts |
| Payouts (pay-outs) | Available | payouts |
| Corridors | Available | corridors |
| Customers | Available | customers |
| Balance | Available | balance |
| Quotes | Available | quotes |
| Transactions (read) | Available | transactions |
| Webhooks | Available | webhooks |
Base URLs & dashboard
| Environment | API base URL | Dashboard (get your keys) |
|---|---|---|
| Sandbox | https://devapi.spendfigo.com/v1 |
dashboard-sandbox.spendfigo.com |
| Production | https://api.spendfigo.com/v1 |
dashboard.spendfigo.com |
All endpoints live under the /v1 prefix. Start in sandbox — test keys
(sk_test_…) move no real money.
Your balance is USD
We show all amounts and fees in USD. A fiat side also shows the local currency that your customer pays or receives. A crypto side shows the exact asset and network that you selected. We hide nothing.