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"
    }
  }
}

Build with AI →

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"

Getting started →

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"}'

API reference →


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

  1. Getting started — your first successful API call in under five minutes.
  2. Authentication — API keys, environments, and headers.
  3. Conventions — response envelope, pagination, idempotency, and errors. Read once; it applies to every endpoint.
  4. The money model — how corridors, balances, and settlement fit together. The mental model that makes the rest obvious.
  5. 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.