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

# Build onchain experiences

> Compose wallets, contracts, gas sponsorship, and compliance to ship onchain apps faster.

export const PermissionlessBadge = () => {
  return <div style={{
    position: "relative",
    minHeight: "20px",
    marginTop: "8px"
  }}>
      <span style={{
    display: "inline-flex",
    alignItems: "center",
    gap: "4px",
    fontSize: "0.75rem",
    color: "#6b7280",
    fontWeight: "500",
    lineHeight: "1.5"
  }}>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style={{
    width: "12px",
    height: "12px",
    flexShrink: 0
  }}>
          <path fillRule="evenodd" d="M14.5 1A4.5 4.5 0 0010 5.5V9H3a2 2 0 00-2 2v6a2 2 0 002 2h10a2 2 0 002-2v-6a2 2 0 00-2-2h-1.5V5.5a3 3 0 116 0v2.75a.75.75 0 001.5 0V5.5A4.5 4.5 0 0014.5 1z" clipRule="evenodd" />
        </svg>
        Permissionless
      </span>
    </div>;
};

## What you can build

* [**Embedded wallets**](/wallets): build flexible, secure, and scalable wallets
  into your application.
* [**Gasless UX**](/wallets/gas-station): give end users a gasless experience
  with Gas Station and Paymaster.
* [**Smart contracts**](/contracts): create, deploy, and execute smart contracts
  through intuitive APIs.
* [**Compliance operations**](/wallets/compliance-engine): screen transactions
  and automate alerts.

## Compose your stack

Mix and match these building blocks based on who controls the keys, how you
cover fees, and the level of automation you need.

<CardGroup cols={3}>
  <Card title="Wallets: Dev-Controlled" icon="wallet" href="/wallets/dev-controlled">
    Use APIs to create wallets, move funds, and manage policies on behalf of
    your users with instant scale.
  </Card>

  <Card title="Wallets: User-Controlled" icon="user" href="/wallets/user-controlled">
    Ship social logins, email OTP, and PIN-secured signing so your users control
    their keys with familiar sign-ins.
  </Card>

  <Card title="Wallets: Modular" icon="layer-group" href="/wallets/modular">
    Plug in modules like permissions, recovery, or automation to ship custom
    smart-accounts.
  </Card>

  <Card title="Gas Station" icon="gas-pump" href="/wallets/gas-station">
    Sponsor gas to create a gasless UX for end-users.
  </Card>

  <Card title="Paymaster" icon="coin-vertical" href="/paymaster">
    Let anyone pay gas directly in USDC through permissionless ERC-4337
    paymasters.
  </Card>

  <Card title="Contracts" icon="code" href="/contracts">
    Deploy and operate smart contracts via audited templates, APIs, and
    monitoring.
  </Card>

  <Card title="Compliance Engine" icon="shield-check" href="/wallets/compliance-engine">
    Screen transactions, manage rules, and investigate alerts.
  </Card>
</CardGroup>

## Building something crosschain?

Wallets and contracts become more powerful when they connect across ecosystems.
Use these primitives to move liquidity crosschain and expose a unified balance.

<Tip>
  **Use dedicated SDKs for crosschain transfers**

  [Bridge Kit](https://www.npmjs.com/package/@circle-fin/bridge-kit) and
  [Unified Balance Kit](https://www.npmjs.com/package/@circle-fin/unified-balance-kit)
  let you move USDC across blockchains without low-level protocol work. Both
  support multiple blockchains and wallet providers.
</Tip>

<CardGroup cols={2}>
  <Card title="CCTP" icon="arrow-up-arrow-down" href="/cctp">
    Burn-and-mint native USDC between supported chains with guarantees.

    <PermissionlessBadge />
  </Card>

  <Card title="Gateway" icon="dungeon" href="/gateway">
    Give users a single USDC balance they can spend anywhere while Circle
    handles settlement.

    <PermissionlessBadge />
  </Card>
</CardGroup>

## Dive deeper

* Follow the
  [dev-controlled wallet quickstart](/wallets/dev-controlled/create-your-first-wallet)
  to stand up API-driven wallets in minutes.
* Use the [user-controlled wallet tutorials](/wallets/user-controlled) to embed
  social login, email OTP, and PIN-based signing flows.
* Head to the [Contracts quickstart](/contracts/scp-deploy-smart-contract) to
  deploy an audited template and connect to wallets.
* Explore
  [Gas Station quickstarts](/wallets/gas-station/send-a-gasless-transaction) and
  [Paymaster guides](/paymaster/pay-gas-fees-usdc) to abstract gas across
  networks.
