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

# Direct end-user custody model

> Understand how Circle's Direct End-User Custody model works for Stablecoin Accounts

Digital Asset Accounts operates under Circle's Direct End-User Custody model,
where Circle holds custody of digital assets on behalf of end customers while
distributors provide the user interface. European Economic Area (EEA) accounts
follow this same model under a different regulatory and technical framework. For
more information, see the [EEA custody model](#eea-custody-model).

## Direct end-user custody defined

In the Direct End-User Custody model, Circle holds custody of the digital assets
(stablecoins) on behalf of the end customer directly. The distributor acts as a
technology integrator that provides the user interface and experience but does
not take custody of or control the underlying funds.

This model provides several advantages:

* **Regulatory clarity**: Circle, as the custodian, is responsible for
  compliance with applicable custody regulations
* **Reduced distributor obligations**: Distributors are not required to obtain
  money transmitter licenses or custody licenses for the stablecoin holdings
* **End-customer protection**: Funds are held by a regulated entity with robust
  security and compliance infrastructure

## How it works

### Beneficial ownership

Each end customer is the beneficial owner of the stablecoins held in their
account. Although the assets are pooled in Circle's custody infrastructure, the
beneficial ownership is tracked at the individual account level.

### Account segregation

Digital Asset Accounts maintains logical segregation of funds at the
[subaccount level](/digital-asset-accounts/concepts/account-structure). Each
subaccount tracks the balance for a specific end customer and currency. The
underlying custody may use omnibus wallet structures (a single blockchain wallet
that pools assets from multiple customers) for operational efficiency, but
account records ensure that each customer's entitlements are clearly defined and
auditable.

### Distributor responsibilities

Under the Direct End-User Custody model, the distributor is responsible for:

* Providing the user interface for their end customers to interact with their
  accounts
* Onboarding end customers through the
  [End User Onboarding API](/end-user-onboarding), which handles KYB data
  collection and document submission
* Integrating with the Digital Asset Accounts API to enable account operations
  such as
  [wire deposits and withdrawals](/digital-asset-accounts/howtos/wire-deposits-and-withdrawals)
  and [crypto transfers](/digital-asset-accounts/howtos/crypto-transfers)

The distributor is **not** responsible for:

* Holding or controlling customer funds
* Managing compliance or regulatory obligations related to custody
* Performing KYB or KYC verification (Circle handles this)

## Compliance

Circle manages the following compliance obligations associated with digital
asset custody:

* **KYB verification**: Circle performs Know Your Business verification on all
  end customers before activating their accounts
* **Transaction monitoring**: Circle monitors transactions for suspicious
  activity and compliance with applicable regulations
* **Risk management**: Circle applies risk ratings and transaction limits based
  on the verified profile of each end customer

For more information on risk ratings and limits, see
[Limits and risk ratings](/digital-asset-accounts/concepts/limits-and-risk-ratings).

## EEA custody model

Digital Asset Accounts for distributors based in the European Economic Area
(EEA) follows the
[Direct End-User Custody model](#direct-end-user-custody-defined) but operates
under the
[Markets in Crypto-Assets Regulation (MiCA)](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32023R1114).
For details on the EEA regulatory context, see
[EEA and MiCA](/digital-asset-accounts/concepts/eea-and-mica).

The following table summarizes the custody arrangements for EEA accounts under
MiCA.

| Area | EEA |
| - | - |
| **Custodian** | Circle France SAS |
| **Competent authority** | AMF (France's financial markets regulator) |
| **Segregation** | MiCA-mandated onchain physical segregation in dedicated reserve addresses |
| **Reporting obligations** | ACPR reporting through the Mint SAS reporting pipeline |

### Custodian

Circle France SAS holds custody of EEA accounts and is supervised by the
[AMF](https://www.amf-france.org/en) (France's financial markets regulator).

### Segregation

EEA accounts are subject to MiCA physical segregation requirements. Rather than
pooling assets in omnibus wallets, EEA subaccount balances are held in dedicated
onchain reserve addresses. Circle manages this segregation using Mint SAS
infrastructure. Distributors do not interact with or configure the reserve
addresses directly.

### Reporting obligations

EEA accounts are included in [ACPR](https://acpr.banque-france.fr/en) regulatory
reporting through the Mint SAS reporting pipeline. For details on the Reserve
Management API used for MiCA balance reporting, see
[EEA API behavior](/digital-asset-accounts/references/eea-api-behavior).

To onboard EEA customers under this model, see
[Onboard EEA customers](/digital-asset-accounts/howtos/onboard-eea-customers).
