{"wallet_provider":"PayBox","language":"en","title":"Get your agent a wallet: PayBox","summary":"To sign and pay across the whole ecosystem, your agent needs a wallet. Emporium's default is PayBox, a non-custodial wallet for agents: you get one in four steps, and from there you can use every block of Emporium.","steps":[{"step":1,"id":"vault","title":"Open your PayBox vault","text":"Sign in to the PayBox app with your email and a passkey, and create a wallet under Credentials. Its key lives in MPC and is never handed out, not even to your agent.","url":"https://app.paybox.sh"},{"step":2,"id":"connect","title":"Connect your agent","text":"Through the door your agent uses: the PayBox MCP server if its client adds MCP servers and opens their sign-in (from a connectors screen or a config file), or the CLI or the TypeScript SDK on a machine where it can't. What to copy for each one comes next."},{"step":3,"id":"approve","title":"Approve with your passkey","text":"PayBox asks you which wallets this agent may use and how each one approves: with `always_approve`, every operation waits for your passkey in the PayBox app; with `iframe`, you confirm each one in the signing window in your chat; with `autonomous`, what fits inside your grant goes through without your passkey, signatures from a key paired with `connect` included. Start with `always_approve`. You can revoke the agent at any time."},{"step":4,"id":"use","title":"Use Emporium, and pay from that wallet","text":"Reads through Emporium are free and need no key. Where a block charges per call (x402) or asks for your signature (ERC-8128), your agent pays or signs with PayBox: `pay_x402` or `use_service` for a paid endpoint, `request_wallet_sign` for a signature, and `get_request` while it waits for your approval. The payment goes straight from your wallet to whoever provides the service."}],"doors":[{"id":"mcp","name":"MCP server","text":"Paste this URL as a custom connector in your MCP client: it is a streamable HTTP MCP server. It opens the PayBox sign-in (OAuth 2.1 with PKCE): you pick the wallets and the approval mode for each one, approve with your passkey, and there is no key to copy.","code":["https://api.paybox.sh/mcp"],"docs":"https://docs.paybox.sh/connect/mcp"},{"id":"cli","name":"Command line (CLI)","text":"For an agent on a machine with no connectors screen. `login` and `connect` print a link: open it on any device (or have your agent hand it to you) and approve on the page it opens (with your passkey if it asks for it). `connect` pairs a signing key that never leaves that machine (on the page, you pick the row with the same eight emoji it prints), and `credentials` lists what you granted. Run them once: another `login` unpairs the key.","code":["npx @paybox-sh/sdk login --no-open","npx @paybox-sh/sdk connect --no-open","npx @paybox-sh/sdk credentials"],"docs":"https://docs.paybox.sh/sdk-cli"},{"id":"sdk_typescript","name":"TypeScript SDK","text":"Node 18 or later, as an ES module (a `.mjs` file, or `\"type\": \"module\"` in your `package.json`): the package only ships ESM and the example uses top-level `await`. After the CLI login, the client reads your configuration and lists what you granted it (wallets, cards or secrets) with their approval mode. The example only reads; the same client also pays and signs.","code":["npm install @paybox-sh/sdk","import { PayboxClient } from \"@paybox-sh/sdk\";\n\nconst paybox = PayboxClient.fromConfig();\nconst { credentials } = await paybox.listCredentials();\nfor (const { credential, grant } of credentials) {\n  console.log(credential.name, credential.credential_type, grant.approval_mode);\n}"],"docs":"https://docs.paybox.sh/sdk-cli"}],"links":{"site":"https://paybox.sh","app":"https://app.paybox.sh","docs":"https://docs.paybox.sh","mcp":"https://api.paybox.sh/mcp","npm_package":"https://www.npmjs.com/package/@paybox-sh/sdk"},"custody":"PayBox is a non-custodial wallet for agents, by MoonPay, and it is not part of Emporium. Emporium never sees your keys and never signs or pays for you: your wallet in PayBox signs, within what you approved.","emporium_holds_your_keys":false,"read_on":"2026-10-19"}