Skip to content

One USDC balance, many currencies: running multi-currency payouts from a single treasury

Pay out in USD, BRL, MXN, COP, ARS, EUR, and GBP from one stablecoin balance: rails per currency, funding network rules, quote quirks, and float sizing.

You can run payouts in seven currencies from one USDC balance: each payout gets its own quote that converts stablecoin into USD, BRL, MXN, COP, ARS, EUR, or GBP at execution. What changes per currency is the bank rail, which networks can fund it, and a few quote quirks. Pick a network every rail accepts and size one float.

This is the treasury view. Instead of a balance in Brazil, another in Mexico, and a third in Europe, the company holds one stablecoin balance and lets each payout do its own conversion. The idea is simple. The details per currency are where teams trip.

Key takeaways

  • One balance, one quote per payout. The currency is chosen by the recipient's bank account type.
  • BlindPay pays seven currencies over local rails: ACH, wire, RTP, SWIFT, Pix, PIX Safe, TED, SPEI, ACH Colombia, Transfers 3.0, SEPA, and Faster Payments.
  • EUR and GBP payouts are funded in USDC. Hold USDC on a network that SEPA and Faster Payments accept.
  • SEPA and Faster Payments quotes can expire before 5 minutes. Read expires_at.
  • Size one float on total volume, not one per country.

Which currencies and rails can one USDC balance pay?

Seven currencies over twelve payout rails, per BlindPay's payment methods reference:

CurrencyPayout railsFunding notesQuote quirks
USDACH, domestic wire, RTP, SWIFTUSDC or USDTUSD payouts pass an on-hold compliance review step; SWIFT has a 100 USD minimum and needs documents for third-party recipients
BRLPix, PIX Safe, TEDUSDC or USDTPix and PIX Safe are instant; TED follows Brazilian banking days
MXNSPEIUSDC or USDTInstant; recipient identified by CLABE
COPACH ColombiaUSDC or USDTAbout 1 business day
ARSTransfers 3.0USDC or USDTInstant; recipient identified by CBU
EURSEPAUSDC40 destination countries; minimum 50 USDC or 40 EUR; quote can be shorter than 5 minutes
GBPFaster PaymentsUSDCUK sort code and account number; quote can be shorter than 5 minutes

Every payout uses the same three steps: add the bank account once, create a quote, execute it before it expires (payouts docs). The currency follows from the bank account's type, so your treasury code doesn't branch much. Your recipient forms do.

Euros reach more places than the eurozone. BlindPay's SEPA list covers 40 countries, from Albania and Andorra to Switzerland and the United Kingdom. Pounds go over Faster Payments, which Pay.UK says runs "day and night, 365 days per year" and handles real-time payments of up to £1 million, with lower limits at individual banks (Pay.UK). The GBP rail is the newest one here; the USDC to GBP guide has the bank details.

Which network should the treasury hold USDC on?

One that every rail you pay accepts, so no payout waits on a rebalance. USDC itself runs on many blockchains, and Circle publishes the contract address for each (Circle). Not every payout path takes every network.

The constraints that matter for a multi-currency treasury:

  1. SEPA payouts take USDC from Polygon, Ethereum, Arbitrum, Base, Solana, and Stellar (SEPA changelog).
  2. Offramp wallets linked to SEPA or Faster Payments accounts accept deposits on Ethereum, Base, Arbitrum, Polygon, and Solana (offramp wallets).
  3. USDT is deployed on Polygon, Ethereum, Tron, Solana, and Tempo, and USDC on Ethereum, Polygon, Base, Arbitrum, Tempo, Arc, Stellar, and Solana (supported chains).
  4. The crypto leg of SEPA and Faster Payments payouts runs on Polygon whatever network you fund from. That changes on-chain timing you observe, not your API call.

So a USDC balance on Polygon, Ethereum, Base, Arbitrum, or Solana covers all seven currencies. A treasury that holds USDT needs some USDC on the side for euros and pounds.

If funds arrive on the wrong network, move them first. Cross-chain USDC transfers run between Ethereum, Polygon, Base, Arbitrum, and Arc through Circle's CCTP v2. Rebalancing USDC across networks before a payout walks through it, and which network to off-ramp on compares finality and fees.

How do quotes behave differently across currencies?

Same fields everywhere, different edge cases. Every payout quote returns commercial_quotation, blindpay_quotation, sender_amount, receiver_amount, and the fee lines (payout quotes). The rate reads in the destination currency per unit of stablecoin, which is worth getting right before you compare corridors; how to read an FX quote explains the direction.

The differences to code for:

  • Window length. 5 minutes by default; SEPA and Faster Payments can be shorter (cut-off times).
  • Minimums. SWIFT needs 100 USD requested. SEPA needs 50 USDC on the sender side or 40 EUR on the receiver side. Faster Payments has its own minimum per side, listed in the payouts docs.
  • Fixed side. currency_type: receiver fixes the local amount, which most teams want for salaries in BRL, MXN, or EUR. sender fixes the USDC.
  • Business days. ACH, wire, TED, ACH Colombia, and SEPA follow bank calendars. In the US, the Federal Reserve's 2026 holiday list still includes November 26 and December 25 (Federal Reserve).

Currency codes help keep this clean. ISO 4217 assigns each currency its three-letter code and minor unit (SIX, ISO 4217 maintenance agency), and all seven here use two decimals, so one integer amount format works across the book.

How big should a single float be?

Big enough to cover payouts until a top-up lands, plus a buffer for rates on local-currency amounts. One float, sized on total volume.

Illustrative example. A company pays this every month:

CurrencyMonthly payoutsIllustrative rateUSDC needed
USD (ACH)$40,0001.0040,000
BRL (Pix)R$ 216,0005.40 BRL per USDC216,000 / 5.40 = 40,000
MXN (SPEI)MX$ 370,00018.50 MXN per USDC370,000 / 18.50 = 20,000
EUR (SEPA)€9,2000.92 EUR per USDC9,200 / 0.92 = 10,000
GBP (Faster Payments)£7,4500.745 GBP per USDC7,450 / 0.745 = 10,000
Total120,000 USDC

Spread over about 21 business days, that's 120,000 / 21 = 5,714.29 USDC per business day. If a top-up takes up to 5 business days to arrive, the float needs 5,714.29 × 5 = 28,571.43 USDC, plus a buffer of 2% to 3% for local-currency amounts that cost more USDC when those currencies strengthen. Compare that with five separate local balances, each sized for its own peak.

Fees aren't in this table on purpose. They're per transaction and vary by rail and network, and BlindPay discloses them in the live quote before execute rather than in a static rate card. How much USDC to hold for payouts has the full sizing method, and batch payouts with live quotes shows how to run a mixed-currency batch row by row.

What to do next

On a development instance, add one bank account per currency you pay, request a quote for each from the same funding wallet, and note which ones return an expires_at shorter than 5 minutes. The payment methods reference lists the fields each rail needs.

The collection side has its own setup. Multi-currency accounts without local entities covers receiving in several currencies from one integration.

For marketplaces that also collect the money, see marketplace checkout: collect locally, pay sellers in their currency.

FAQ

One API.
Multiple payment rails.

Blind Pay, Inc. (“BlindPay”) is a United States-based financial technology and payments infrastructure company, incorporated in the State of Delaware on May 2, 2024. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000277566153. BlindPay is not a state-licensed money transmitter and does not, in its own capacity, engage in regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial institution partners. BlindPay's role is limited to providing financial technology, virtual account management, payment processing, and related payments infrastructure services that facilitate payment flows and account functionalities. These services are provided in coordination with its licensed partners and in compliance with applicable federal MSB requirements and relevant state regulatory frameworks.

Blind Pay, LLC (“BlindPay”) is a Delaware limited liability company formed on June 24, 2025. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000318334247 and is listed in the Nationwide Multistate Licensing System (“NMLS”) under NMLS ID #2745309.

BLIND PAY SOCIEDADE PRESTADORA DE SERVIÇOS DE ATIVOS VIRTUAIS LTDA. (“BlindPay”) is a Virtual Asset Service Provider (“VASP”) operating in Brazil. The company is presently completing the regulatory adaptation process required of Virtual Asset Service Provider Companies (SPSAV) under Central Bank of Brazil Resolution No. 520/2025, and remains subject to the transitional regime set forth in Article 88 of that Resolution. Registered address: Avenida Princesa Isabel, nº 15, Sala 1405, Edifício Martinho de Freitas, Centro, Vitória/ES, 29010-361.

BlindPay is a stablecoin API that enables individuals and businesses to move money worldwide.