Documentation Index
Fetch the complete documentation index at: https://developers.circle.com/llms.txt
Use this file to discover all available pages before exploring further.
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
- 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.
- Circle screens and confirms the deposit. Circle’s compliance and policy
engine evaluates the transaction before it progresses.
- USDC is burned. Circle performs a first-party burn to remove the USDC
from circulation and convert the value to fiat.
- 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
| Action | Endpoint |
|---|
| Create a payment intent | Create payment intent (Payment Intents API) |
| List payments | List payments (Payments API) |
| Burn USDC and withdraw fiat | Create 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
- 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.
- Fiat posts and a deposit record is created. After the wire settles, you
can list and retrieve deposit records through the
Fiat Deposits API.
- Circle converts fiat to USDC. USDC may remain in your account briefly
while payouts are prepared.
- You register approved payout addresses. Circle’s policy engine screens
each address before it is eligible to receive funds.
- 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
| Action | Endpoint |
|---|
| Set up wire instructions | Create account wire account (Wires API) |
| List fiat deposits | List account deposits (Fiat Deposits API) |
| Register payout address | Create address book recipient (Address Book API) |
| Send USDC payout | Create 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
| Dimension | Payins (USDC-to-fiat) | Payouts (fiat-to-USDC) |
|---|
| Direction | USDC in, fiat out | Fiat in, USDC out |
| Funding source | Payer sends USDC onchain | You wire fiat to Circle |
| Settlement output | Fiat credited to your bank | USDC sent to payee addresses onchain |
| Typical use case | Merchant checkout, collections | Creator payouts, supplier payments |
| Key APIs | Fiat Burns | Wires, Fiat Deposits |
Integration considerations