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

# Compliance obligations

> Regulatory and contractual obligations for Digital Asset Accounts distributors.

Digital Asset Accounts (DAA) operates under a B2B2C model in which Circle is the
licensed money transmitter and you are responsible for surfacing compliance
artifacts to your end users. Your obligations derive from your Definitive
Agreement with Circle and from the money transmission regulations Circle
operates under, including its money transmitter licenses and the New York
BitLicense.

Circle generates the required artifacts and returns them to you through the API
and the corresponding webhook events. You render and deliver them.

## Obligations at a glance

| Area | Circle's obligation | Your obligation |
| - | - | - |
| Receipts | Generate receipt content on the API response | Render and deliver the receipt to the end user at transaction completion |
| Disclosures | Provide approved disclosure text and terms and conditions | Present disclosures before transaction initiation and capture consent |
| Lifecycle notices | Emit webhook events for account state changes | Notify the end user with the required content and timing |
| Account limits | Publish per-transaction, daily, and monthly limits | Display limits and block submissions that exceed them |
| Account statements | Not required | Issue if required by applicable law or your product offering |
| Record retention | Retain KYC and transaction records at the platform level | Retain consent, receipt delivery, and customer communication records |
| EEA compliance (EEA only) | File MiCA balance reports with the ACPR | Surface EEA Terms, capture SCA consent, and retain records under MiCA |

## Receipts

Send a receipt to the end user when each transaction reaches its final state: an
onramp deposit is credited, an offramp withdrawal settles, or an onchain
transfer confirms. Circle returns the content fields on the API response and in
the corresponding webhook event. You render the receipt and deliver it through
your channel of choice (for example, email, in-app notification, or both).

The following subsections map the fields you show on the receipt to their
location in the API response. Every receipt must also include the
[required footer text](#required-footer-text).

### Onramp receipts (wire deposit)

Send the receipt when the wire deposit transitions to `complete`. See
[Get an account deposit](/api-reference/digital-asset-accounts/all/get-account-deposit)
for the full response schema.

| Receipt field | API field | Notes |
| - | - | - |
| Transaction ID | `data.id` | UUID of the deposit. |
| From | `data.source.name` | Originating bank and masked account (for example, `WELLS FARGO ****1234`). |
| Amount received | `data.amount.amount` | Gross amount credited to the account. |
| Date | `data.createDate` | ISO 8601 UTC timestamp. Display as `April 10, 2025 at 2:13 AM UTC`. |
| Reference | `data.trackingRef` | Wire tracking reference. Fall back to `data.customerExternalRef` if populated. |

### Offramp receipts (bank withdrawal)

Send the receipt when the bank withdrawal transitions to `complete`. Do not send
a receipt for withdrawals that end in `failed`. Use a
[withdrawal return notice](#regulated-customer-notices) instead. See
[Get an account withdrawal](/api-reference/digital-asset-accounts/all/get-account-withdrawal)
for the full response schema.

| Receipt field | API field | Notes |
| - | - | - |
| Transaction ID | `data.id` | UUID of the withdrawal. |
| To | `data.destination.name` | Destination bank and masked account (for example, `COMMERZBANK AG ****3000`). |
| Amount withdrawn | `data.amount.amount` | Amount debited from the DAA account. |
| Amount sent | `data.toAmount.amount` | Net amount received by the destination bank, after fees. |
| Date | `data.createDate` | Initiation date. Use `data.updateDate` for the settlement timestamp. |
| Reference | `data.trackingRef` | Wire tracking reference. |

### Onchain receipts (deposit or send)

Send the receipt when the onchain transfer reaches a terminal state (confirmed
onchain). Determine directionality from the source and destination fields.
Inbound transfers (deposits into the account) have a blockchain source. Outbound
transfers (sends from the account) have a blockchain destination. See
[Get an account transfer](/api-reference/digital-asset-accounts/all/get-account-transfer)
for the full response schema.

| Receipt field | API field | Notes |
| - | - | - |
| Transaction ID | `data.id` | UUID of the transfer. |
| To/from address | `data.destination.address` or `data.source.address` | Blockchain address of the counterparty. |
| Amount | `data.amount.amount` | USDC amount transferred. |
| Fee | `data.fees[0].amount` | Network fee. May be zero for internal transfers. |
| Transaction hash | `data.transactionHash` | Link the hash to a block explorer so end users can independently verify the transaction. |
| Date | `data.createDate` | ISO 8601 UTC. |

### Required footer text

Include the following text verbatim on every receipt. Do not modify it without
Circle's approval. The "User Agreement" and "Privacy" labels at the end must
link to the URLs shown. Render the links in whatever format your channel
supports (HTML anchor, email link, plain-text URL).

```text wrap theme={null}
You are receiving this message because you conducted a transaction with Circle Internet Financial, LLC. Circle Internet Financial, LLC, NMLS # 1201441, is a licensed provider of money transmission services. Digital Asset Accounts and issuance of electronic money services are provided by Circle Internet Financial Europe SAS. Circle Internet Financial Europe SAS is a French ACPR licensed electronic money institution and registered digital assets services provider.

Circle is not a bank; Digital Asset Accounts is not a bank account, and any funds are not insured by the Federal Deposit Insurance Corporation, the Securities Investor Protection Corporation or by any US or foreign government agency, insurance fund, person or entity. Circle makes no representations or warranties regarding the amount of time needed to complete processing any deposit, withdrawal, or transaction. Once a transaction has been initiated (including, but not limited to, a Digital Currency Transfer), it cannot be reversed or refunded, except as set forth in the User Agreement. You may have additional refund or chargeback rights under your agreement with the recipient of such funds, your financial institution, or applicable law. You should periodically review statements from your financial institution and any other service that you use to transact Digital Currency, which should reflect all applicable transactions made using the related transaction method.

All rights reserved.

© 2026 Circle Internet Financial, LLC
© 2026 Circle Internet Singapore Pte Ltd
© 2026 Circle Internet Financial Europe SAS

PO Box 52235
Boston, MA 02210

User Agreement: https://www.circle.com/digital-asset-account-user-agreement
Privacy: https://www.circle.com/en/legal/privacy-policy
```

## Disclosures

Disclosures are pre-transaction obligations, distinct from receipts. Present
them to the end user before they can open an account or initiate a transaction,
and capture affirmative consent.

### Terms and conditions

Before you open an account or process a first transaction for an end user,
present Circle's
[Digital Asset Account User Agreement](https://www.circle.com/digital-asset-account-user-agreement)
and capture explicit acceptance.

<Steps>
  <Step title="Present the user agreement">
    Display the user agreement as a link. Do not paraphrase or summarize the terms.
    The preferred consent wording is:

    > I have read, understand, and agree to the
    > [Digital Asset Account User Agreement](https://www.circle.com/digital-asset-account-user-agreement).
  </Step>

  <Step title="Capture consent">
    Require an affirmative action such as a checkbox or an "I agree" button. Do not
    use pre-checked boxes.
  </Step>

  <Step title="Register acceptance with Circle">
    Call the
    [Submit an application](/api-reference/end-user-onboarding/submit-application)
    endpoint with:

    * `endUserAgreesToTermsOfService`: set to `true`
    * `endUserIpAddress`: the end user's IP address at the time of consent
  </Step>

  <Step title="Log the consent event">
    Record the user ID, timestamp, user agreement version accepted, and IP address
    in your own records. Retain per the [record retention](#record-retention)
    requirements.
  </Step>
</Steps>

You must re-present the user agreement and re-collect acceptance whenever the
version changes.

### Per-transaction disclosures

Before executing any deposit, withdrawal, or transfer, display the following to
the end user and require acknowledgment:

* The estimated fee and net amount.
* The estimated settlement time.
* An irrevocability notice: wire and onchain transfers are generally final once
  initiated.

## Account limits

Display account limits before the end user initiates a deposit or withdrawal so
they cannot submit amounts that exceed their limit. Reversals caused by
submissions that exceed the limit harm the user experience and create
operational overhead.

* Display Circle's published per-transaction, daily, and monthly limits on your
  deposit and withdrawal screens.
* Show the end user's current balance before they initiate a withdrawal.
* Block submission when the entered amount exceeds the applicable limit.

## Regulated customer notices

Send lifecycle notices to end users when the account state changes in ways that
materially affect them. These notices are triggered by account lifecycle events
and are separate from transactional receipts. Some require advance notice and
specific content under applicable law.

| Event | Trigger | Required content | Timing |
| - | - | - | - |
| Account approved | The account transitions to an active state after KYB. | Confirmation that the account is open, the account reference, funding instructions, and terms-of-service confirmation. | On approval. |
| Account restricted | The account is restricted from initiating certain actions. | The reason (if legally permissible to disclose), the actions blocked, and how to resolve or contact support. | Before the restriction takes effect if required by applicable law. Otherwise, on restriction. |
| Account closed | The account is closed. | The effective date, the reason (if permissible), how remaining funds will be returned, and the dispute process. | Advance notice period varies by jurisdiction. Confirm with your legal counsel. |
| Withdrawal returned | A withdrawal is returned (return details populated). | The original withdrawal details, the return reason, when funds will be re-credited, and fee treatment. | On the return event. |

Consult your legal counsel on advance notice requirements that apply in each
jurisdiction for restriction and closure notices. New York and several other
states impose statutory notice periods for adverse actions on financial
accounts.

## Record retention

You are required under your Definitive Agreement with Circle, and under
applicable money services business (MSB) and state money transmitter
regulations, to retain the following records. These are not optional. Failure to
retain them is a regulatory violation that Circle might have to report.

| Record type | What to retain | Minimum retention |
| - | - | - |
| Consent records | The user agreement version accepted, timestamp, user ID, IP address, and method of consent (checkbox, click). | 5 years under New York money transmitter regulations (confirm for other jurisdictions) |
| Transaction receipts delivered | Proof that each receipt was generated and delivered: an event log with user ID, transaction ID, delivery method, and timestamp. | 5 years |
| Customer communications | All material notices sent to end users (account approval, restriction, closure, returns). | 5 years |
| Account statements | If you issue periodic statements, retain a copy of each statement sent. | 5 years |
| Marketing materials | All marketing and promotional materials used to attract end users to the DAA product. | Duration of use plus 2 years |
| KYC and KYB records | Identity verification documents and outcomes, governed separately by Circle's reliance program. | 5 years from account closure |

Circle has audit rights under the Definitive Agreement to inspect distributor
record retention practices. Ensure records are accessible in 10 business days of
a request. Store records securely and do not commingle them with non-DAA product
records in ways that impede retrieval.

## Account statements

Circle does not require periodic account statements for DAA. If you elect to
issue them, or if applicable law requires them for certain account types or
jurisdictions, include the following fields on each statement:

* The statement period (start and end date).
* The opening and closing balance.
* Each transaction with its date, type (deposit, withdrawal, or transfer),
  amount, fee, net amount, and reference.
* Dispute contact information and process.
* Circle's regulatory status and license information.

## Implementation checklist

Before you enable live transactions for any end user, confirm the following:

* Wire deposit receipt is rendered and delivered on deposit completion.
* Bank withdrawal receipt is rendered and delivered on withdrawal completion.
* Onchain transfer receipt is rendered and delivered on confirmation.
* The Digital Asset Account User Agreement is surfaced and explicit consent is
  captured before account opening.
* Pre-transaction disclosures (fee, settlement time, irrevocability) are shown
  before each transaction.
* Account approval, restriction, closure, and withdrawal return notices are
  wired to the corresponding webhook events.
* Consent, receipt delivery, and customer communication records are retained for
  the required period.

## EEA compliance obligations

European Economic Area (EEA) accounts are issued under MiCA Article 60(4).
Circle France SAS is the licensed entity and legal custodian for all EEA
accounts, authorized by the AMF on April 20, 2026. For a full overview of the
EEA regulatory framework, see
[EEA and MiCA](/digital-asset-accounts/concepts/eea-and-mica). For the EEA
onboarding flow, see
[Onboard EEA customers](/digital-asset-accounts/howtos/onboard-eea-customers).

EEA accounts require two contracting layers before activation. You contract with
Circle France SAS (not Circle LLC) at the partner level. Each end user must
accept the custody terms of Circle France SAS. Both layers must be in place
before you activate an EEA account.

As an EEA distributor, you must do the following:

* **Surface the EEA Terms**: Present the
  [EEA Terms](https://www.circle.com/legal/eea-terms) to end users before
  account activation and capture click-through acceptance. This is in addition
  to the standard Digital Asset Account User Agreement.
* **Capture SCA consent**: Present the SCA challenge before any SCA-sensitive
  action and obtain authenticated consent. See
  [EEA API behavior](/digital-asset-accounts/references/eea-api-behavior) for
  the full list of actions that require SCA.
* **Retain records**: Follow the same requirements in
  [Record retention](#record-retention) for a minimum of 5 years. EEA partners
  are also subject to ACPR record retention requirements under MiCA. Confirm
  specific periods with your legal counsel.

### No burn fees or ROLR

Digital Asset Accounts does not charge burn fees or apply ROLR programs for EEA
accounts.
