wal_*) each agent (agt_*) can move money from, and which one it spends from by default. For the model behind grants, read the Wallet access overview.
These routes manage both your own agents and agents you have already connected through an invitation. Use your customer account’s user session or API key. Agent keys and developers acting on your behalf cannot change access. Connected-agent changes additionally require delegations.update alongside the route’s wallet permissions.
Accepting an invitation grants one wallet, which becomes the connection’s default. Add more wallets here after acceptance; adding a wallet preserves the existing default.
Attach an agent
Attach the agent withPOST /wallets/{walletId}/agents, passing the agent’s id. Attach an ACTIVE agent to an active standard wallet. Attaching the Vault returns vault_not_allowed; attaching again returns already_exists.
meta.walletAccess.isDefault and meta.walletAccess.accessType (owned or connected):
You cannot attach an agent to the Vault. See Use the Vault.
Set the default wallet
Set it withPOST /wallets/{walletId}/agents/{agentId}/default; it is the wallet the agent spends from when a call names none. The first attached wallet becomes the default. For a connected agent, this default belongs to your customer connection and is independent of the agent’s other customers and its developer. Pass walletId to use another granted wallet. An unusable default fails the call; Natural does not substitute another wallet.
Money addressed directly to an agent still goes to its developer-owned default wallet. Customer-connected wallets do not change that destination.
List the agents a wallet allows
Confirm withGET /wallets/{walletId}/agents which owned and connected agents can use a wallet, and whether it is the default for each agent. Connected entries return this connection’s limits, omit the developer’s private metadata and activity, and identify the developer through the party relationship.
Detach an agent
Revoke access to this one wallet withDELETE /wallets/{walletId}/agents/{agentId}. The agent stays active on every other wallet it is attached to. You cannot detach an agent from its own default wallet (default_wallet_cannot_be_detached): point its default at another wallet first. A connected agent therefore keeps at least one granted wallet. To remove all access, revoke the customer connection instead.