At a glance
Application API key
What it is: Kong key-auth for your application. Same key used across Wallets, Bundler, Relayer, Paymaster, and Agent Kit for that app. Use for:@abstraxn/agent-kit→AgentKitClient({ apiKey })- MCP →
Authorization: <key>orX-API-Key: <key> - Your backend env:
ABSTRAXN_API_KEY,AGENT_KIT_API_KEY,MCP_SERVER_AUTH_TOKEN
tools/listand catalog-discovery tools (perinputSchema) work without any agents.- Wallet-scoped tools (see live
tools/listschemas) need at least one active agent created via SDK/REST. - If you have multiple active agents, pass
agent_idin tool arguments (orX-Agent-Idon the HTTP request).
Per-agent API key (agent.apiKey)
What it is: Optional customer-scoped key returned when you create an agent. MCP treats it as bound to that agent only.
Use for:
- MCP
Authorizationwhen a single integration should only ever act as one agent (omitagent_id). - Per-tenant BFF or worker that only serves one end user.
Wallet accessKey
What it is: P-256 server-wallet credential from Abstraxn wallet provisioning. Returned once inside createAgent() → wallet.accessKey.
Use for:
- Signing unsigned transfer intents from MCP.
- Building
paymentPayloadfor paid x402 tools afterpaymentRequired(-32402). AgentKitClient.getServerSigner().authenticate({ userIdentity, accessKey })
ENCRYPTION_KEY on your backend). You cannot retrieve it again from Agent Kit if lost — create a new agent/wallet flow.
Never: Expose to the browser, LLM prompts, or MCP clients running on a developer laptop without a local signer you trust.
External wallet agents never receive an
accessKey. See External wallet.Environment variables (sample backend pattern)
Auth header formats
Decision tree
Related docs
- Dashboard setup — copy API key and MCP URL
- 5-minute smoke test — verify key + MCP with curl
- Troubleshooting — auth and
agent_iderrors - SDK quickstart —
createAgentandaccessKeystorage