{"_id":"@codespar/mcp-coinbase-cdp","_rev":"3-2bac40c7798001f2932667c4aea99755","name":"@codespar/mcp-coinbase-cdp","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@codespar/mcp-coinbase-cdp","version":"0.1.0","keywords":["mcp","coinbase","coinbase-cdp","cdp","crypto","trading","wallets","payments","swap","onchain","stablecoin","usdc","eth","base"],"license":"MIT","_id":"@codespar/mcp-coinbase-cdp@0.1.0","maintainers":[{"name":"codespar-npm","email":"contact@codespar.dev"}],"bin":{"mcp-coinbase-cdp":"dist/index.js"},"dist":{"shasum":"cd65d6694b0ad9cf694679f3b966b1bc5b0a9ed6","tarball":"https://registry.npmjs.org/@codespar/mcp-coinbase-cdp/-/mcp-coinbase-cdp-0.1.0.tgz","fileCount":6,"integrity":"sha512-ntIn6F0JL9uHHqXTi/a0G6zmYf3nQFHmkIvd/IP/mSO+b7QuEFtq0yAY1MOUC8ECuZJaxRWSX2ov8jwa319FUg==","signatures":[{"sig":"MEUCIGVOI+o2urgG7l3c3IWOeCX0HsgXGu/E7SvuIqCt6t1aAiEAnTi/nl28GAvw4DrRARI/+FrPhlVxLSXmWNQEyEstpM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48635},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"0415d66b592dea0d2042f25a7bc3aaf8ee8fdd92","mcpName":"io.github.codespar/mcp-coinbase-cdp","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"codespar-npm","email":"contact@codespar.dev"},"_npmVersion":"11.8.0","description":"MCP server for Coinbase Developer Platform (CDP) — single package covering Trading, Wallets, and Payments. Auth uses ES256 JWT signed with an ECDSA P-256 private key minted at portal.cdp.coinbase.com.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"jose":"^5.9.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-coinbase-cdp_0.1.0_1778105955125_0.8829657584497166","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@codespar/mcp-coinbase-cdp","version":"0.1.1","description":"MCP server for Coinbase Developer Platform (CDP) — single package covering Trading, Wallets, and Payments. Auth uses ES256 JWT signed with an ECDSA P-256 private key minted at portal.cdp.coinbase.com.","type":"module","main":"./dist/index.js","bin":{"mcp-coinbase-cdp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","jose":"^5.9.0"},"devDependencies":{"@types/node":"^25.5.0","typescript":"^5.8.0"},"license":"MIT","keywords":["mcp","coinbase","coinbase-cdp","cdp","crypto","trading","wallets","payments","swap","onchain","stablecoin","usdc","eth","base"],"mcpName":"io.github.codespar/mcp-coinbase-cdp","_id":"@codespar/mcp-coinbase-cdp@0.1.1","gitHead":"e8f2ad023876683538fe7b66a2fc88ab8d8ef92f","types":"./dist/index.d.ts","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-S5oqIeyd6C2s+lQGe4BHdUv5ueVr43UZZiOEAXwyn9j/iXLqqxWZOtbtpA1csE3jx1KMdXlWk8/dB0mmpsb36Q==","shasum":"856b304bbd87e3efc1a5d187d75f0454702429d2","tarball":"https://registry.npmjs.org/@codespar/mcp-coinbase-cdp/-/mcp-coinbase-cdp-0.1.1.tgz","fileCount":6,"unpackedSize":49394,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICsyB4IdQ+ANroaKhN2x1oJ1OfV+HmV34xyFxllkvT6RAiEAzxoPtE4+NpeW+tVMxFvyTETbHZzjNWxN0ZnLtvT/eJ4="}]},"_npmUser":{"name":"codespar-npm","email":"fabiano@codespar.dev"},"directories":{},"maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-coinbase-cdp_0.1.1_1782153510504_0.4863578162223663"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T22:19:15.013Z","modified":"2026-06-22T18:38:30.807Z","0.1.0":"2026-05-06T22:19:15.278Z","0.1.1":"2026-06-22T18:38:30.649Z"},"license":"MIT","keywords":["mcp","coinbase","coinbase-cdp","cdp","crypto","trading","wallets","payments","swap","onchain","stablecoin","usdc","eth","base"],"description":"MCP server for Coinbase Developer Platform (CDP) — single package covering Trading, Wallets, and Payments. Auth uses ES256 JWT signed with an ECDSA P-256 private key minted at portal.cdp.coinbase.com.","maintainers":[{"name":"codespar-npm","email":"fabiano@codespar.dev"},{"name":"dangazineu","email":"daniel.gazineu@gmail.com"}],"readme":"# @codespar/mcp-coinbase-cdp\n\nMCP server for the [Coinbase Developer Platform (CDP)](https://www.coinbase.com/developer-platform) — single npm package covering **three CDP product surfaces** under one key:\n\n- **Trading** — onchain swap / trade API\n- **Wallets** — Smart / Embedded / MPC wallet primitives\n- **Payments** — onchain outbound payment infrastructure\n\nAll three live on the same CDP account, share one ES256 JWT-signed key, and share one base URL (`https://api.cdp.coinbase.com`) — so they ship as one package, not three.\n\n## Positioning vs the rest of the catalog\n\n| Server | Coinbase surface | Auth |\n|--------|------------------|------|\n| `@codespar/mcp-coinbase` | **Advanced Trade** exchange (legacy retail) | HMAC API keys (`CB-ACCESS-*`) |\n| `@codespar/mcp-coinbase-commerce` | **Commerce** merchant gateway (accept BTC/ETH/USDC at checkout) | API key (`X-CC-Api-Key`) |\n| `@codespar/mcp-coinbase-cdp` | **Developer Platform** (Trading + Wallets + Payments) | ES256 JWT (this package) |\n\nEach surface has a separate API host, a separate key type, and a separate dashboard — they do not share credentials. Mint the right key for the surface you want.\n\n## Tools (15)\n\n### Trading (4)\n\n| Tool | Purpose |\n|---|---|\n| `list_quotes` | List recent swap quotes minted under the authenticated CDP account. |\n| `create_swap` | Create an onchain swap between two assets. |\n| `get_swap` | Get a single swap by id — full status, executed amounts, gas, tx hash. |\n| `cancel_swap` | Cancel a pending swap before it lands onchain. |\n\n### Wallets (7)\n\n| Tool | Purpose |\n|---|---|\n| `create_wallet` | Create a new wallet (smart / embedded / MPC). |\n| `list_wallets` | List wallets under the authenticated CDP account. |\n| `get_wallet` | Get a single wallet by id. |\n| `list_balances` | List asset balances across all addresses + networks. |\n| `transfer` | Send a transfer from a wallet to a destination address. |\n| `get_transaction` | Get a single transaction by id. |\n| `list_transactions` | List historical transactions for a wallet. |\n\n### Payments (4)\n\n| Tool | Purpose |\n|---|---|\n| `create_payment` | Create an onchain payment (outbound transfer to a payee). |\n| `list_payments` | List historical payments. |\n| `get_payment` | Get a single payment by id. |\n| `cancel_payment` | Cancel a pending payment before it lands onchain. |\n\n## Install\n\n```bash\nnpm install -g @codespar/mcp-coinbase-cdp\n```\n\n## Environment\n\n```bash\nCOINBASE_CDP_KEY_NAME=\"organizations/<org>/apiKeys/<id>\"\nCOINBASE_CDP_PRIVATE_KEY=\"-----BEGIN EC PRIVATE KEY-----\n...\n-----END EC PRIVATE KEY-----\"\n```\n\nMint the key (and download the PEM **once** — it is not recoverable later) at <https://portal.cdp.coinbase.com>. The same key authenticates Trading, Wallets, and Payments.\n\n> **Important** — the PEM must be the full multi-line block including `BEGIN`/`END` lines. When supplying via shell env, wrap in double quotes and preserve newlines (or use `$'...'` / a `.env` file).\n\n## Authentication\n\nCDP signs every request with a **fresh ES256 JWT** in the `Authorization: Bearer …` header.\n\nJWT claims (per request):\n\n| Claim | Value |\n|------|------|\n| `sub` | `COINBASE_CDP_KEY_NAME` |\n| `iss` | `\"cdp\"` |\n| `aud` | `[\"cdp_service\"]` |\n| `nbf` | `now` (unix seconds) |\n| `exp` | `now + 120` |\n| `uri` | `\"<METHOD> api.cdp.coinbase.com<path>\"` (path includes any query string) |\n\nJWT header:\n\n| Field | Value |\n|------|------|\n| `alg` | `\"ES256\"` |\n| `typ` | `\"JWT\"` |\n| `kid` | `COINBASE_CDP_KEY_NAME` |\n| `nonce` | random 16-byte hex (per request) |\n\nSigned with the ECDSA P-256 private key from `COINBASE_CDP_PRIVATE_KEY`. The PEM is imported once at startup and cached — only the JWT is minted per request.\n\n## Run\n\n```bash\n# stdio (default — for Claude Desktop, Cursor, etc.)\nnpx @codespar/mcp-coinbase-cdp\n\n# HTTP (for server-to-server testing)\nMCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-coinbase-cdp\n```\n\n## Enterprise\n\nNeed governance, budget limits, and audit trails for agent-driven onchain transactions? [CodeSpar Enterprise](https://codespar.dev/enterprise) adds policy engine, payment routing, and compliance templates on top of these MCP servers.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}