Skip to main content
When you use Managed Payments, you settle in USDC while your books stay in fiat. Circle holds assets in regulated custody, runs compliance checks, and moves funds both onchain and to your bank. Two settlement flows support this model:
  • Payins (USDC-to-fiat): Inbound USDC that Circle converts and deposits as fiat in your bank account.
  • Payouts (fiat-to-USDC): Fiat you send to Circle that backs outbound USDC to payees you designate.
You can run one flow, the other, or both depending on your volume and product design. The sections below walk through how each flow works, when to choose one over the other, and what APIs you call at each stage.

Payins (USDC-to-fiat)

A payin settles inbound USDC as fiat in your bank account. Circle manages the custodial accounts, performs compliance screening, and executes a first-party burn to move value offchain.

How a payin moves through the system

  1. Payer sends USDC onchain. The USDC arrives in a Circle Managed Payments account. Many integrations create a continuous payment intent on each sub-wallet so every merchant or segment has a stable receive address.
  2. Circle screens and confirms the deposit. Circle’s compliance and policy engine evaluates the transaction before it progresses.
  3. USDC is burned. Circle performs a first-party burn to remove the USDC from circulation and convert the value to fiat.
  4. Fiat is credited to your bank. After the burn completes, Circle initiates a withdrawal to your designated bank account for local disbursement.

Key API calls for payins

ActionEndpoint
Create a payment intentCreate payment intent (Payment Intents API)
List paymentsList payments (Payments API)
Burn USDC and withdraw fiatCreate account withdrawal (Fiat Burns API)

When to use payins

Choose the payin flow when your end users pay in USDC and you need to receive fiat: for example, a merchant checkout where customers pay with USDC and you disburse to sellers in local currency. To try it, follow the Receive Stablecoin Payins quickstart.

Payouts (fiat-to-USDC)

A payout converts fiat you send to Circle into USDC that payees receive onchain. You fund your account by wire, Circle mints or allocates USDC, and you initiate crypto payouts to registered addresses.

How a payout moves through the system

  1. You wire fiat to Circle. Wires can credit a specific sub-wallet or, if your agreement allows it, a main wallet used for pooled funding. Set up bank accounts and wire instructions ahead of time through the Wires API.
  2. Fiat posts and a deposit record is created. After the wire settles, you can list and retrieve deposit records through the Fiat Deposits API.
  3. Circle converts fiat to USDC. USDC may remain in your account briefly while payouts are prepared.
  4. You register approved payout addresses. Circle’s policy engine screens each address before it is eligible to receive funds.
  5. USDC is sent to payees onchain. Circle executes the crypto payout to the approved addresses.
Sub-wallets per merchant or segment give you built-in audit trails and simplify reconciliation.

Key API calls for payouts

ActionEndpoint
Set up wire instructionsCreate account wire account (Wires API)
List fiat depositsList account deposits (Fiat Deposits API)
Register payout addressCreate address book recipient (Address Book API)
Send USDC payoutCreate payout (Payouts API)

Optional line of credit

Some agreements include a line of credit so USDC is available before every wire clears. This lets you initiate payouts without waiting for each wire to settle. Eligibility and terms depend on your agreement with Circle.

When to use payouts

Choose the payout flow when you need to disburse USDC to external recipients: for example, paying out creators, suppliers, or partners who prefer to receive stablecoins. To try it, follow the Send Stablecoin Payouts quickstart. For details on how sub-wallets and the main wallet interact during payouts, see Sub-Wallet Architecture.

Comparing payins and payouts

DimensionPayins (USDC-to-fiat)Payouts (fiat-to-USDC)
DirectionUSDC in, fiat outFiat in, USDC out
Funding sourcePayer sends USDC onchainYou wire fiat to Circle
Settlement outputFiat credited to your bankUSDC sent to payee addresses onchain
Typical use caseMerchant checkout, collectionsCreator payouts, supplier payments
Key APIsFiat BurnsWires, Fiat Deposits

Integration considerations