Skip to main content
An agent profile is what Naïve gives every agent: its own verified business identity (KYC/EIN/formation), a spend-capped card, an inbox and phone number, and (optionally) a place to run — provisioned per tenant, governed on every action, and instantly revocable. The bundle is the product: identity + money + comms + runtime as one governed unit.

Provision an agent profile

Provisioning is idempotent on idempotencyKey: a duplicate signup webhook resumes the same agent profile and never forms a second entity or issues a second card.

Lifecycle

Use the agent profile’s tools (anywhere)

The agent profile’s tools are handles, never raw secrets. Drop them into your own agent loop, any agent framework, or a Naïve-hosted container — every regulated action routes through the governance gateway. tools() returns a toolset, { tools, handle } — the declarations to hand your model, and the dispatcher that routes each call through the gateway. Both halves are required.

Revoke

Revoke applies mid-action and cascades: revoking a parent agent profile kills the whole multi-agent system. The subject is re-resolved on every call, so it takes effect on an open MCP session too, with no reconnect.
Revoke stops the profile acting, not reading: the check runs on mutating HTTP methods and on every MCP tool call, but GET requests with the same key still pass the primitive gate. To stop reads too, revoke or rotate the key (DELETE /v1/agent-profiles/{id}/keys/{keyId}); an already-open SSE session caches its AuthContext, so key revocation lands on the next connection, while profile revocation lands immediately. Details: MCP tools and the governance gateway.

REST / CLI / MCP

See Infrastructure as code for declaring agent roles and Runtime & hosting for where the agent runs.