# Canopy > Accept crypto deposits in your app. Each user gets a unique deposit address on any supported chain, and Canopy settles the net to the destination you name. Canopy is an API for crypto deposits. A business creates a payment intent for one of its users, the user pays from the wallet and network they already hold funds on, and Canopy settles the net amount to the payout destination the business names. Settlement is reported to the business by signed webhook. Agents can call Canopy directly through its MCP server at https://www.canopypay.io/api/mcp (Streamable HTTP; secret key as a bearer token, or OAuth for connector clients). The integration prompts below are self-contained plain text written for coding agents. ## Integration prompts for coding agents - [Headless (server to server)](https://www.canopypay.io/agents/headless/raw): Your server creates intents and renders the deposit address yourself. No browser SDK. - [Inline embedded checkout](https://www.canopypay.io/agents/checkout-inline/raw): Canopy checkout rendered inside your own page, with the embed origin it requires. - [Popup checkout](https://www.canopypay.io/agents/checkout-popup/raw): The default surface. No origin registration, but the click-handler timing is unforgiving. - [Settlement webhooks](https://www.canopypay.io/agents/webhooks/raw): Verify deliveries and fulfil orders. The only thing allowed to trigger fulfilment. - [MCP server](https://www.canopypay.io/agents/mcp/raw): Connect Claude, ChatGPT, Cursor or your own agent to Canopy's MCP tools. Create deposits and read status without writing an integration. ## Documentation - [Overview](https://www.canopypay.io/docs) - [Accept your first deposit](https://www.canopypay.io/quickstart) - [Integrate multi-network deposits](https://www.canopypay.io/guides/multi-network-deposits) - [Payment intents](https://www.canopypay.io/concepts/payment-intents) - [Payout destinations](https://www.canopypay.io/concepts/destinations) - [Credentials](https://www.canopypay.io/guides/credentials) - [Source deposit inboxes](https://www.canopypay.io/guides/source-inbox) - [Popup timing](https://www.canopypay.io/guides/popups) - [Embed checkout inline](https://www.canopypay.io/guides/embedding) - [Operations](https://www.canopypay.io/reference) - [Events](https://www.canopypay.io/sdk/events) - [React checkout and hooks](https://www.canopypay.io/sdk/react) - [Events and verification](https://www.canopypay.io/webhooks) ## Tutorials - [Turnkey wallet funding: add exchange deposits with Canopy](https://www.canopypay.io/articles/turnkey-wallet-crypto-deposits): Add exchange deposits to Turnkey wallets with Canopy. Resolve wallet ownership, create a payment intent, embed checkout and verify settlement webhooks. - [Para wallet funding: add crypto deposits in React](https://www.canopypay.io/articles/para-wallet-crypto-deposits-react): Add crypto deposits to Para embedded wallets in React with Canopy. Verify JWT wallet ownership, open checkout and confirm settlement through signed webhooks. - [Fund Portal embedded wallets with cross-chain crypto deposits](https://www.canopypay.io/articles/portal-wallet-cross-chain-deposits): Add a Canopy deposit flow to a Portal web app, bind the destination to the authenticated user's wallet, and confirm settlement on your server. ## Optional - [Full text for agents](https://www.canopypay.io/llms-full.txt): every integration prompt and tutorial in one file - [unauthorized](https://www.canopypay.io/errors/unauthorized) - [insufficient_scope](https://www.canopypay.io/errors/insufficient_scope) - [not_found](https://www.canopypay.io/errors/not_found) - [invalid_request](https://www.canopypay.io/errors/invalid_request) - [invalid_json](https://www.canopypay.io/errors/invalid_json) - [payload_too_large](https://www.canopypay.io/errors/payload_too_large) - [idempotency_key_reuse](https://www.canopypay.io/errors/idempotency_key_reuse) - [unsupported_version](https://www.canopypay.io/errors/unsupported_version) - [rate_limited](https://www.canopypay.io/errors/rate_limited) - [internal_error](https://www.canopypay.io/errors/internal_error) - [source_inbox_unavailable](https://www.canopypay.io/errors/source_inbox_unavailable) - [source_inbox_refused](https://www.canopypay.io/errors/source_inbox_refused) - [source_inbox_not_active](https://www.canopypay.io/errors/source_inbox_not_active) - [customer_not_bound](https://www.canopypay.io/errors/customer_not_bound)