> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spherepay.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Cross-Border Trade Finance

> Settle international invoices and receivables across currencies using stablecoins as the bridge — built for importers, exporters, and trade finance platforms.

Trade finance workflows move money across borders against invoices, purchase orders, or receivables. The traditional rails — international wires, correspondent banks, letters of credit — are slow, opaque, and expensive. Using stablecoins as the settlement layer cuts settlement times from days to minutes and gives both parties full on-chain visibility.

This guide covers the integration pattern for importer–exporter payments, supplier financing, and B2B receivables platforms.

## How it works

The flow is a two-leg sandwich: fiat on one side, fiat on the other, stablecoins as the bridge.

```mermaid theme={"dark"}
flowchart LR
    SB["Importer<br/>bank (origin)"] -->|"USD ACH / Wire"| SP["SpherePay<br/>on-ramp"]
    SP -->|USDC| BC["Blockchain<br/>(near-instant)"]
    BC -->|USDC| LO["Local off-ramp<br/>(destination)"]
    LO -->|Local fiat| RB["Exporter<br/>bank (destination)"]
```

SpherePay handles the USD ↔ USDC conversion. Where SpherePay's fiat rails reach (USD, EUR, BRL), the second leg is also a SpherePay off-ramp. For other corridors, you (or your partner) handle the local fiat off-ramp in the destination country.

## Why stablecoin settlement for trade finance

| Traditional correspondent banking | Stablecoin settlement                    |
| --------------------------------- | ---------------------------------------- |
| 3–5 business days                 | Minutes on-chain + local fiat settlement |
| \$25–50 wire fees + FX spread     | Transparent on-chain fees + spot FX      |
| Opaque FX rates and routing       | Public blockchain trail                  |
| Limited visibility into status    | End-to-end tracking                      |

For trade finance specifically:

* **Receivables platforms** can settle invoices to suppliers in minutes rather than days, shortening DSO.
* **Importers** get predictable FX pricing — the stablecoin leg is on-chain and quotable upfront.
* **Exporters** can elect to hold USDC for treasury flexibility rather than auto-convert to local fiat.

## Coverage today

SpherePay handles end-to-end where both legs land on supported fiat rails:

* ✅ USD ACH and Wire (US)
* ✅ EUR SEPA (EU)
* ✅ BRL PIX (Brazil)
* ✅ Stablecoin transfers between wallets (USDC, USDT, EURC across supported networks)

For corridors outside these rails (e.g. GBP, MXN, INR), you'll need a local partner for the destination off-ramp. SpherePay handles the on-ramp + stablecoin leg; the partner converts USDC to local currency.

## Implementation pattern

### Step 1 — On-ramp (importer side)

Convert the importer's fiat to USDC.

```bash theme={"dark"}
curl -X POST https://api.spherepay.co/v2/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "100000.00",
    "customer": "customer_importer",
    "source": {
      "type": "bank_account",
      "id": "bankAccount_importer",
      "currency": "usd",
      "network": "wire"
    },
    "destination": {
      "type": "wallet",
      "id": "wallet_settlement",
      "currency": "usdc",
      "network": "sol"
    }
  }'
```

### Step 2 — Stablecoin transfer (settlement leg)

Move USDC to the exporter's wallet (or your partner's settlement wallet). This is a standard on-chain transfer — send USDC directly from your settlement wallet using your preferred wallet infrastructure.

### Step 3 — Off-ramp (exporter side)

If the exporter banks in the US, EU, or Brazil, use SpherePay to convert back to local fiat:

```bash theme={"dark"}
curl -X POST https://api.spherepay.co/v2/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "100000.00",
    "customer": "customer_exporter",
    "source": {
      "type": "wallet",
      "id": "wallet_exporter",
      "currency": "usdc",
      "network": "sol"
    },
    "destination": {
      "type": "bank_account",
      "id": "bankAccount_exporter",
      "currency": "eur",
      "network": "sepa"
    }
  }'
```

For other corridors, hand off to your local partner.

## Worked example — receivables platform

For a trade receivables platform settling supplier invoices:

```javascript theme={"dark"}
async function settleInvoice(buyerId, supplierCountry, invoiceAmount) {
  // 1. On-ramp buyer USD → USDC
  const onRamp = await createTransfer({
    amount: invoiceAmount,
    customer: buyerId,
    source: {
      type: "bank_account",
      id: buyerBankAccount,
      currency: "usd",
      network: "wire",
    },
    destination: {
      type: "wallet",
      id: settlementWallet,
      currency: "usdc",
      network: "sol",
    },
  });

  await waitForTransfer(onRamp.id);

  // 2. Route USDC to destination
  if (supplierCountry === "BR") {
    // SpherePay can off-ramp BRL directly
    return createTransfer({
      amount: invoiceAmount,
      customer: supplierId,
      source: { type: "wallet", id: settlementWallet, currency: "usdc", network: "polygon" },
      destination: { type: "bank_account", id: supplierBrlBank, currency: "brl", network: "pix" },
    });
  } else {
    // Hand off to local partner for unsupported corridors
    const partnerWallet = getPartnerWallet(supplierCountry);
    await sendOnChain(settlementWallet, partnerWallet, invoiceAmount);
    await notifyPartner(supplierCountry, invoiceAmount);
  }
}
```

## Compliance requirements

### Originating side

* **KYC/KYB verification** — All originating businesses must complete [KYB](/concepts/onboarding/business-kyb); individuals require [KYC](/concepts/onboarding/individual-kyc).
* **Source of funds documentation** — Required for larger trade payments; collect commercial invoices, POs, or trade contracts.

### Receiving side

* **Local regulations** — Any third-party partner must comply with destination-country money transmission laws.
* **KYC/AML on recipient** — Per local requirements.
* **Cross-border reporting** — Maintain records as required by both jurisdictions.

## Best practices

* **Pick the right network.** Solana and Base offer the lowest fees and fastest finality. Ethereum is better for institutional counterparties already custodying USDC there.
* **Lock FX upfront.** For invoiced amounts, quote and lock the FX rate before initiating the on-ramp so margin is predictable.
* **Build partner redundancy.** Have backup off-ramp partners for each destination country in case primary routes are unavailable.
* **Track end-to-end.** Poll transfer status and pair with blockchain monitoring for full visibility from importer wire to exporter deposit.
* **Reconcile against invoices.** Maintain a mapping between trade documents (invoice number, PO) and transfer IDs.

## Roadmap

SpherePay is actively expanding international rails — track the [Changelog](/changelog) for additional fiat corridors, single-call cross-currency transfers, and direct trade-finance integrations.

## Related

<CardGroup cols={2}>
  <Card title="Transfers API" icon="arrow-right-left" href="/concepts/transfers/overview">
    Full transfer creation and tracking reference.
  </Card>

  <Card title="Trading" icon="refresh-cw" href="/solutions/trading">
    Per-corridor walkthroughs (BRL ↔ USD, USD ↔ EUR) with the Offloader Wallet pattern for one-call settlement.
  </Card>

  <Card title="Onboarding" icon="user-check" href="/concepts/onboarding/overview">
    KYC/KYB requirements for both legs.
  </Card>

  <Card title="Supported rails" icon="globe" href="/concepts/transfers/supported-rails">
    Currency, network, and rail compatibility.
  </Card>
</CardGroup>
