{"openapi":"3.1.0","info":{"title":"BuildAWallet Machine API","version":"3.0.0","description":"Non-custodial multichain infrastructure for AI agents and developers. Read ten mainnets, get a wallet, prepare and broadcast locally-signed transfers. Use prepaid API units with a metered API key (baw_acct_ from the dashboard, or baw_live_ from a wallet-signed session), or pay metered endpoints directly with x402 PAYMENT-SIGNATURE. BuildAWallet never signs for callers.","contact":{"url":"https://buildawallet.xyz/nonhuman/pricing"}},"servers":[{"url":"https://buildawallet.xyz"}],"externalDocs":{"url":"https://buildawallet.xyz/nonhuman/pricing","description":"Pricing-first machine access hub"},"tags":[{"name":"Discovery"},{"name":"Agent wallets"},{"name":"Subscribed API"},{"name":"Transactions"},{"name":"Wallet subscription"}],"paths":{"/machine/v1/agent/bootstrap":{"get":{"tags":["Discovery"],"summary":"Machine-native bootstrap manifest","responses":{"200":{"description":"Discovery, payment and onboarding metadata","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/agent/account":{"get":{"tags":["Machine accounts"],"summary":"Get or initialize an agent payment and usage account","parameters":[{"name":"chain","in":"query","required":true,"schema":{"type":"string","enum":["base","solana"]}},{"name":"wallet","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Persistent public-wallet agent ledger summary","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/agent/quote":{"post":{"tags":["Machine checkout"],"summary":"Create a short-lived exact payment access quote","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","enum":["base","solana"]},"wallet":{"type":"string"},"planId":{"type":"string","enum":["builder","pro","scale"]}},"required":["chain","wallet","planId"]},"example":{"chain":"base","wallet":"0x…","planId":"pro"}}}},"responses":{"201":{"description":"Exact payment requirements and activation URL"}}}},"/machine/v1/agent/activate":{"post":{"tags":["Machine checkout"],"summary":"Verify an exact quoted payment and mint a machine API key","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"quoteId":{"type":"string"},"tx":{"type":"string"}},"required":["quoteId","tx"]},"example":{"quoteId":"…","tx":"0x…"}}}},"responses":{"200":{"description":"Active entitlement and baw_live_ API key"}}}},"/machine/v1/chains":{"get":{"tags":["Discovery"],"summary":"Supported networks","responses":{"200":{"description":"Network registry","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/plans":{"get":{"tags":["Discovery"],"summary":"Plans and payment addresses","responses":{"200":{"description":"Plans","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/wallets/kit":{"get":{"tags":["Agent wallets"],"summary":"Local wallet kit manifest","responses":{"200":{"description":"Kit manifest","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/wallets/kit.mjs":{"get":{"tags":["Agent wallets"],"summary":"Download the local wallet script","responses":{"200":{"description":"JavaScript module","content":{"text/javascript":{}}}}}},"/machine/v1/wallets/validate":{"post":{"tags":["Agent wallets"],"summary":"Which networks accept this address","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]},"example":{"address":"0x0000000000000000000000000000000000000000"}}}},"responses":{"200":{"description":"Validation result","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/wallets/generate":{"post":{"tags":["Agent wallets"],"summary":"Opt-in server-made wallet (phrase returned once, never stored)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"acknowledgeCustodyRisk":{"type":"boolean","const":true},"words":{"type":"integer","enum":[12,24]}},"required":["acknowledgeCustodyRisk"]},"example":{"acknowledgeCustodyRisk":true,"words":12}}}},"responses":{"201":{"description":"Phrase and public addresses"},"400":{"description":"Risk not acknowledged"},"429":{"description":"5 per hour per client"}}}},"/machine/v1/usage":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Check API units","responses":{"200":{"description":"Quota","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{chain}/wallet/{address}":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Native balance (1 unit)","parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}},{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"Public address for the chosen network"}],"responses":{"200":{"description":"Live chain read","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{chain}/stablecoin/{address}":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Stablecoin balance (1 unit)","parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}},{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"Public address for the chosen network"}],"responses":{"200":{"description":"Stablecoin read","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{chain}/transaction/{tx}":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Transaction status (1 unit)","parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}},{"name":"tx","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Transaction status","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{chain}/snapshot/{address}":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Native + stablecoin (1 unit)","parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}},{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"Public address for the chosen network"}],"responses":{"200":{"description":"Snapshot","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/portfolio/{address}":{"get":{"tags":["Subscribed API"],"security":[{"bearerAuth":[]},{}],"summary":"Full multichain portfolio query (1 unit)","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"Public address for the chosen network"}],"responses":{"200":{"description":"Every compatible network","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{settlementChain}/transaction/prepare":{"post":{"tags":["Transactions"],"security":[{"bearerAuth":[]},{}],"summary":"Build unsigned transfer (1 unit)","parameters":[{"name":"settlementChain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"asset":{"type":"string","enum":["native","usdc"]},"amountAtomic":{"type":"string","description":"Integer amount in the asset's smallest unit (USDC 6 decimals)"}},"required":["from","to","asset","amountAtomic"]},"example":{"from":"0x…","to":"0x…","asset":"usdc","amountAtomic":"1500000"}}}},"responses":{"200":{"description":"Unsigned transaction","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/{settlementChain}/transaction/broadcast":{"post":{"tags":["Transactions"],"security":[{"bearerAuth":[]},{}],"summary":"Broadcast locally-signed bytes (1 unit)","parameters":[{"name":"settlementChain","in":"path","required":true,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon","bnb","avalanche","solana","bitcoin"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"signedTransaction":{"type":"string","description":"Base: 0x-hex"},"signedTransactionBase64":{"type":"string","description":"Solana: base64"}},"required":[]},"example":{"signedTransaction":"0x02f8…"}}}},"responses":{"200":{"description":"Broadcast hash","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing or invalid API key when using prepaid access"},"402":{"description":"x402 payment required; send PAYMENT-SIGNATURE for direct USDC-per-call access"},"429":{"description":"Unit quota exhausted"}}}},"/machine/v1/auth/challenge":{"post":{"tags":["Wallet subscription"],"summary":"One-use login message","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain":{"type":"string","enum":["base","solana"]},"wallet":{"type":"string"}},"required":["chain","wallet"]},"example":{"chain":"base","wallet":"0x…"}}}},"responses":{"200":{"description":"Nonce and message","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/auth/verify":{"post":{"tags":["Wallet subscription"],"summary":"Exchange signature for a session","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nonce":{"type":"string"},"signature":{"type":"string"}},"required":["nonce","signature"]},"example":{"nonce":"…","signature":"0x…"}}}},"responses":{"200":{"description":"Session token","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/subscription":{"get":{"tags":["Wallet subscription"],"security":[{"sessionAuth":[]}],"summary":"Session plan status","responses":{"200":{"description":"Status","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/machine/v1/subscription/confirm":{"post":{"tags":["Wallet subscription"],"security":[{"sessionAuth":[]}],"summary":"Activate plan with exact USDC tx","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"planId":{"type":"string","enum":["builder","pro","scale"]},"tx":{"type":"string"}},"required":["planId","tx"]},"example":{"planId":"pro","tx":"0x…"}}}},"responses":{"200":{"description":"Unlocked","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Receipt not final yet ,  retry"}}}},"/machine/v1/subscription/key":{"post":{"tags":["Wallet subscription"],"security":[{"sessionAuth":[]}],"summary":"Mint API key","responses":{"201":{"description":"baw_live_ key, shown once"}}},"delete":{"tags":["Wallet subscription"],"security":[{"sessionAuth":[]}],"summary":"Revoke API key","responses":{"200":{"description":"Revoked","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"baw_acct_… or baw_live_…"},"sessionAuth":{"type":"http","scheme":"bearer","bearerFormat":"64-hex session token"}}}}