Agent customer model
Kendall (Developer) invites his customer to one of his agents with specific permissions and limits. Eric (Customer) reviews and approves the agent-customer relationship:Agent authentication
Agents authenticate via our SDKs using credentials the developer owns. There are two ways to establish agent identity:- Agent keys (
ak_ntl_…) — A credential bound to one agent. Requests resolve as that agent automatically. The same verified binding applies to agent-scoped MCP OAuth grants. - API keys (
sk_ntl_…) — A party credential for user/party actions. It cannot act as an agent; see Authentication.
Instance ID required for agent money movement
A money-movement request attributed to an agent (by agent key or agent-scoped OAuth grant) must also carry aninstance_id (X-Instance-ID) for transaction observability. Agent-attributed money-movement requests without X-Instance-ID are rejected with a 400 error (missing_instance_id).
Agent instances
Aninstance_id groups related agent executions. Natural tracks every payment on its own, but an instance_id lets you tie the actions of one logical workflow together.
You control the value: pass a stable string that identifies the run.