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

# End User Onboarding

> Programmatically onboard your end users to Managed Payments using the End User Onboarding API

The End User Onboarding API lets you create and manage onboarding applications
for your customers. Collect business data, upload documents, and submit
applications for compliance review through one REST API. This removes manual
steps as you scale.

Use the End User Onboarding API to onboard your end users (the merchants and
customers you serve) to [Managed Payments](/cpn/managed-payments). Circle
performs Know Your Business (KYB) verification on each end user, and the End
User Onboarding API submits that KYB data programmatically, so you onboard end
users through the API instead of offline channels. The API covers the full
application lifecycle, from draft through approval, including Requests for
Information (RFIs) when the compliance team needs more data.

<Note>
  Managed Payments serves two customer types: you (the distributor) and your end
  users. You access Managed Payments and obtain API keys through the [CPN
  Console](https://console.circle.com/). Your end users onboard through the End
  User Onboarding API, which uses the same API structure for both customer
  types.
</Note>

## Key features

<CardGroup cols={3}>
  <Card title="Schema-driven forms" icon="brackets-curly">
    Retrieve a JSON Schema that defines required fields, validation rules, and
    conditional dependencies.
  </Card>

  <Card title="Bulk data submission" icon="layer-group">
    Submit all sections in one call. The API validates first, then saves each in
    order.
  </Card>

  <Card title="Document management" icon="file-arrow-up">
    Upload, list, and delete documents. Files link to the relevant application
    fields and entities.
  </Card>
</CardGroup>

## What you can build

<AccordionGroup>
  <Accordion title="Embedded onboarding flows" icon="window">
    Build onboarding forms in your platform. Use the JSON Schema to render fields
    and conditional sections. Your customers stay in your app the whole time.
  </Accordion>

  <Accordion title="Automated bulk onboarding" icon="robot">
    Migrate existing customers by creating applications and submitting data in bulk.
    One request per application fills all sections at once.
  </Accordion>

  <Accordion title="RFI management dashboards" icon="clipboard-check">
    Surface RFIs to your operations team or to customers. Webhook notifications
    drive real-time updates and automate follow-ups.
  </Accordion>
</AccordionGroup>

## How it works

<Steps>
  <Step title="Create a draft application">
    You create a draft application for your customer. It starts in `DRAFT`
    status with a schema that lists the required fields.
  </Step>

  <Step title="Collect data and documents">
    You save section data and upload documents. The API validates each
    submission against the schema.
  </Step>

  <Step title="Submit for compliance review">
    When all sections are complete, you submit the application. Circle's
    compliance team reviews it and either approves it or issues requests for
    information (RFIs).
  </Step>

  <Step title="Handle RFIs and resubmit">
    If the team requests more data, you update the sections or documents and
    resubmit. The application moves through statuses until it reaches a final
    state.
  </Step>
</Steps>

## Get started

<CardGroup cols={2}>
  <Card title="Submit onboarding application" icon="rocket" href="/cpn/managed-payments/end-user-onboarding/quickstarts/submit-onboarding-application">
    Walk through an application end to end in sandbox
  </Card>

  <Card title="Application types and states" icon="diagram-project" href="/cpn/managed-payments/end-user-onboarding/references/application-states">
    Learn the statuses an application moves through
  </Card>

  <Card title="Create and populate applications" icon="file-lines" href="/cpn/managed-payments/end-user-onboarding/howtos/create-and-populate-applications">
    Walk through the full application lifecycle
  </Card>

  <Card title="Handle requests for information" icon="clipboard-check" href="/cpn/managed-payments/end-user-onboarding/howtos/handle-rfis">
    Respond to compliance team RFIs and resubmit
  </Card>
</CardGroup>

## OpenAPI specifications

The End User Onboarding API reference is generated from two OpenAPI
specifications. `customer-orchestration.yaml` defines client creation
(`POST /v1/partner/clients`). `partner-openapi.yaml` defines the
onboarding-application endpoints. Generate from both to get the full API
surface:

* `https://developers.circle.com/openapi/customer-orchestration.yaml`
* `https://developers.circle.com/openapi/partner-openapi.yaml`

See [OpenAPI Specifications](/api-reference/openapi-specifications) for the full
catalog of Circle's API specs.
