Creating an agent via API
Creation registers an agent and computes its deterministic Agent Wallet address. It does not deploy the wallet or move funds.
Request
Section titled “Request”POST /v1/users/{userId}/agentsContent-Type: application/jsonAuthorization: Signature <signature-token>The request model requires userId, name, and emoji; the signed-in wallet must own that userId. If omitted, chainId, assetAddress, and type default to the configured Base chain, its USDC asset, and vault. rulePreset is optional; null or omitted creates an explorative agent. The request has no generic type-configuration object. See the generated API reference for the full schema.
Agent type
Section titled “Agent type”The type field currently supports vault only. Other values fail with AGENT_TYPE_NOT_SUPPORTED. Do not assume that Vault Agent operations apply to another type.
Result
Section titled “Result”The response shape is { agent: Agent }; Agent includes agentId, createdDate, name, emoji, chainId, assetAddress, type, and rulePreset. Call GET /v1/users/{userId}/agents/{agentId}/wallet for { agentWallet: AgentWallet }, which includes walletAddress. That deterministic address is available before deployment.
Next steps
Section titled “Next steps”Creation is followed by the type-specific funding and activation flow:
- Vault Agent API integration for the current type.
- User guide: Choosing and creating an agent for the app flow.
Validation and errors
Section titled “Validation and errors”Unsupported types fail with AGENT_TYPE_NOT_SUPPORTED; unsupported chain/asset pairs fail with AGENT_ASSET_NOT_SUPPORTED. The signed-in wallet must own the requested userId. Correct input or authentication errors before retrying.