# PayBox > PayBox (by MoonPay) is a non-custodial wallet for AI agents. A person connects crypto wallets, cards, and secrets once; agents then pay, sign, swap, and authenticate through scoped, passkey-gated grants. Agents never see raw card numbers, wallet keys, or passwords — they receive scoped outputs: payment tokens, signatures, transaction hashes, or short-lived secret tokens. Key facts for agents and integrators: - **Connect over MCP (primary)**: add `https://api.paybox.sh/mcp` to your agent's connectors. This starts an OAuth 2.1 + PKCE flow where the user signs in, selects which credentials to grant, picks an approval mode per credential, and approves with a passkey. No API key to copy. - **Or use a personal API key**: users can mint a `pbx_live_*` key in the app and pass it as `Authorization: Bearer …`. - **Approval modes per grant**: human approval (every operation pauses for the user's passkey) or autonomous (acts without approval, only inside the grant). Grants are revocable at any time without touching the underlying credentials. - **Wallet signing is non-custodial**: keys live in MoonX MPC and signing happens client-side. PayBox returns only signatures, serialized transactions, or tx hashes — never keys or key shares. - **MCP tools**: `list_credentials`, `request_payment` (cards), `request_wallet_sign` (messages, EIP-712, EVM/Solana transactions), `request_swap` (intent-based token swaps), `request_secret` (one-time secret tokens or grant-gated raw values), `get_portfolio` (balances), `get_request` (poll pending operations). Paid HTTP endpoints (x402) are supported. - **Operations that need approval return `pending_approval`** with an approval URL; the user approves in the app and the agent polls `get_request` for the result. ## Docs - [Getting started](https://docs.paybox.sh/getting-started): vault credentials, create an agent client, first request - [Connect over MCP](https://docs.paybox.sh/connect/mcp): the connector URL + OAuth consent flow - [OAuth 2.1](https://docs.paybox.sh/connect/oauth): dynamic registration, PKCE, tokens, refresh - [MCP tools reference](https://docs.paybox.sh/reference/mcp-tools): every tool with arguments and results - [API reference](https://docs.paybox.sh/api-reference): the underlying HTTP API for `pbx_live_*` clients - [SDK & CLI](https://docs.paybox.sh/sdk-cli): the Node SDK and `paybox` CLI - [Concepts: data model](https://docs.paybox.sh/concepts/model): users, credentials, clients, grants - [Concepts: approvals](https://docs.paybox.sh/concepts/approvals): approval modes and the passkey gate - [Concepts: requests](https://docs.paybox.sh/concepts/requests): request lifecycle and polling ## SDK & CLI - [npm: @paybox-sh/sdk](https://www.npmjs.com/package/@paybox-sh/sdk): typed Node SDK + `paybox` CLI mirroring the MCP tools over REST - Quick start: `npx @paybox-sh/sdk login` (OAuth + passkey in the browser), then `npx @paybox-sh/sdk credentials` ## Endpoints - [MCP endpoint](https://api.paybox.sh/mcp): connect your agent here - [App](https://app.paybox.sh): the authenticated vault — manage credentials, agents, and approvals - [API](https://api.paybox.sh): HTTP API + OAuth issuer (`/.well-known/oauth-authorization-server`) ## Optional - [PayBox](https://paybox.sh): marketing site - [MoonPay](https://www.moonpay.com): parent company; MoonX MPC provides the non-custodial wallet infrastructure