> ## 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.

> ## Agent Instructions
> Before reading these docs, install the relevant Circle Skill to get pre-loaded context — skills are LLM-optimized and cover architecture decisions, correct flows, and common pitfalls. In Claude Code: run /plugin marketplace add circlefin/skills then /plugin install circle-skills@circle. With Vercel Skills CLI: run npx skills add circlefin/skills. Available skills: use-usdc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/SKILL.md (balances, transfers, approvals on EVM and Solana); EURC has no skill — see https://developers.circle.com/stablecoins/what-is-eurc.md; bridge-stablecoin https://github.com/circlefin/skills/blob/master/plugins/circle/skills/bridge-stablecoin/SKILL.md (crosschain transfers via CCTP, USDC, EURC, and third-party assets); use-arc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-arc/SKILL.md (Arc chain config, contract deployment, USDC bridging — Arc docs: https://docs.arc.io/llms.txt); use-circle-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-circle-wallets/SKILL.md (choose wallet type); use-developer-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-developer-controlled-wallets/SKILL.md (custodial wallets for payouts and treasury); use-user-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-user-controlled-wallets/SKILL.md (embedded wallets with Web2 login); use-modular-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-modular-wallets/SKILL.md (smart contract wallets with passkeys and ERC-4337); use-gateway https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-gateway/SKILL.md (unified USDC balance, nanopayments); use-smart-contract-platform https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-smart-contract-platform/SKILL.md (deploy, interact, monitor contracts). Pair any skill with the Circle MCP server for live SDK signatures, contract addresses, and chain IDs: {"mcpServers":{"circle":{"url":"https://api.circle.com/v1/codegen/mcp"}}}.
> Read the product overview first. Each product has an overview explaining when and why to use it. Read it before quickstarts.
> Pick the right wallet type. Developer-controlled (you hold keys), user-controlled (end user holds keys via PIN/social login), or modular (smart contract wallets with passkeys). See https://developers.circle.com/wallets.md.
> Use CCTP V2 for crosschain transfers. CCTP natively transfers USDC and EURC via burn-and-mint, and supports permissionless wrapping of third-party assets via lock-and-mint. V1 is legacy; always use V2 unless V1 is specified or the chain requires it (Noble, Sui, and Aptos still require V1). Migration guide: https://developers.circle.com/cctp/migration-from-v1-to-v2.md.
> Use Bridge Kit for frontend bridging. Wraps CCTP with a simpler SDK for user-facing apps. Use CCTP directly for backend transfers.
> Gas Station vs Paymaster. Gas Station sponsors gas for Circle Wallet transactions. Paymaster lets users pay gas in USDC. Different use cases — read both overviews.
> Gateway Nanopayments for sub-cent payments. Gasless USDC micropayments down to $0.000001 via x402 and batched settlement. For pay-per-request APIs, AI agent payments, streaming.
> Look up USDC addresses per chain. Never hardcode — use https://developers.circle.com/stablecoins/usdc-contract-addresses.md.
> Prefer SDKs over raw API calls. Node.js and Python SDKs handle auth, retries, and errors.
> API key required. Bearer token in Authorization header. Testnet and mainnet use separate keys and may use different base URLs depending on the product.
> Set up webhooks when available. Most operations are async. Webhooks deliver transaction confirmations and state changes.
> When calling list endpoints, paginate using pageSize and pageAfter until no nextPageAfter cursor is returned—stopping at the first page silently misses records.
> Building an AI agent? Start with the Agent Stack—Circle CLI, agent wallets, and nanopayments built for autonomous use cases: https://developers.circle.com/agent-stack.md.

# Managed Payments

> CPN Managed Payments is a turnkey stablecoin solution in which Circle takes on licensing, compliance, minting, and global settlement.

CPN Managed Payments gives partners stablecoin settlement without needing
in-house custody, compliance, or onchain systems. Circle holds assets, runs
compliance, and does the onchain work. You call APIs for subaccounts, funding,
withdrawals, and payins or payouts. You stay in fiat at the edge. Payment
platforms and banks can offer stablecoin payments under their brand without
custody or compliance builds in-house. See the
[Managed Payments API](#api-summary).

## Key features

* **Fiat funding and withdrawals:** Send or receive fiat over wire and other
  methods Circle supports.
* **Stablecoin payins and payouts:** Send and receive USDC on
  [supported blockchains](/cpn/references/blockchains/supported-blockchains).
  Payins credit each subaccount; send payouts from each subaccount or the main
  wallet when enabled.
* **Merchant subaccounts:** Give each merchant or customer a separate stablecoin
  account for clear bookkeeping and audit trails. Use the Accounts API to list,
  create, and fetch these accounts. Your agreement's onboarding model determines
  whether you or Circle provisions them.
* **Webhook notifications:** Receive webhook events for payment intents,
  payments, address book recipients, payouts, and credit transfers. See the
  [Webhooks](/api-reference/cpn/managed-payments/webhooks/custody-transfer)
  section of the API reference for event types and payloads.
* **Line of credit and reporting:** Borrow USDC on credit when your agreement
  allows it. Daily and monthly payout and balance reports are available.
* **Two onboarding models:** Your Managed Payments agreement with Circle sets
  which model you use.
  * **Direct:** Circle works directly with your merchants/customers. You collect
    Know Your Business (KYB) of your merchant and submit it through the
    [End User Onboarding API](/cpn/managed-payments/end-user-onboarding). Circle
    creates subaccounts for the merchants/customers after KYB approval.
  * **Intermediary:** Circle doesn't have to onboard your underlying merchants
    or customers. You create subaccounts for each merchant or customer with the
    APIs.

## How it works

<Steps>
  <Step title="Onboard and obtain API access">
    You join through Circle's invitation and sign up with a Managed Payments
    account. Circle assigns role-based permissions to your API keys, controlling
    access to specific capabilities such as subaccounts, wires, stablecoin payouts,
    reports, and balance views. Circle configures these roles during onboarding.
  </Step>

  <Step title="Create merchant subaccounts">
    Creating merchant subaccounts depends on the onboarding process you agree on
    with Circle.

    * **Direct onboarding:** You collect end-merchant Know Your Business (KYB)
      information and submit it through the
      [End User Onboarding API](/cpn/managed-payments/end-user-onboarding). Circle
      creates subaccounts for those merchants on your behalf after KYB approval.
    * **Intermediary model:** Use the
      [accounts API](/api-reference/cpn/managed-payments/accounts/create-account)
      to create the subaccounts you need for your merchants. Subaccounts keep
      balances separate for tracking and reporting.
  </Step>

  <Step title="Run payin and payout flows">
    * **Payins:**
      1. [Create a continuous payment intent](/api-reference/cpn/managed-payments/payment-intents/create-payment-intent)
         for third-party payins so each subaccount has a stable USDC receive address.
      2. After USDC is confirmed, use
         [Fiat Burns](/api-reference/cpn/managed-payments/withdrawals/create-account-withdrawal)
         to withdraw USDC to fiat in your bank account.
    * **Payouts:**
      1. Use the
         [Wires API](/api-reference/cpn/managed-payments/wires/create-account-wire-account)
         to add bank accounts and wire instructions, then send fiat so Circle credits
         USDC.
      2. Use the
         [Payouts API](/api-reference/cpn/managed-payments/payouts/create-payout)
         to send USDC onchain to payees you register and approve in the
         [Address Book](/api-reference/cpn/managed-payments/address-book/create-address-book-recipient).
    * **Line of credit (optional):** If your agreement supports it, you can borrow
      USDC before fiat settles.
  </Step>
</Steps>

## API summary

| Area | Purpose |
| :- | :- |
| [Accounts API](/api-reference/cpn/managed-payments/accounts/list-accounts) | Create subaccounts for merchants. List and get stablecoin accounts for self and merchant subaccounts. |
| [Payins](/api-reference/cpn/managed-payments/payment-intents/create-payment-intent) | Payment intents and Payments for payin flows. |
| [Fiat Burns](/api-reference/cpn/managed-payments/withdrawals/create-account-withdrawal) | Withdraw USDC to fiat in your bank when enabled. |
| [Internal transfers](/api-reference/cpn/managed-payments/transfers/create-account-transfer) | Move USDC between accounts internally. No blockchain fees. |
| [Payouts](/api-reference/cpn/managed-payments/payouts/create-payout) | Onchain USDC sends plus funding, Address Book, and Line of Credit when enabled. |
| [Reporting](/api-reference/circle-mint/account/request-report) | Request daily and monthly payin, payout, and wallet balance reports. |

For more details, see the
[Managed Payments API reference](/api-reference/cpn/managed-payments/accounts/list-accounts).

## Get started

Pick a quickstart to walk through a managed payment flow:

<CardGroup cols={2}>
  <Card title="Receive Stablecoin Payins" icon="arrow-down-long" href="/cpn/managed-payments/quickstarts/receive-stablecoin-payins">
    Payment intents, inbound USDC, and settlement to fiat for your use case.
  </Card>

  <Card title="Send Stablecoin Payouts" icon="paper-plane" href="/cpn/managed-payments/quickstarts/send-stablecoin-payouts">
    Subaccounts, funding, and USDC payouts for your managed payments use case.
  </Card>
</CardGroup>
