> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amrood.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Identities

> Programmable payment entities for AI agents

# Agent Identities

An **Agent** is a programmable payment entity linked to a Human Owner. It has a unique ID, a wallet balance, an API key, and configurable spend policies.

## Creating an Agent

When you create an agent, Amrood:

1. Generates a unique `agent_id` (`agt_xxx`)
2. Creates a Cashfree Easy Split vendor (the wallet backend)
3. Issues an `agent_key` (`agk_live_xxx`) — shown once
4. Sets up spend policies per your configuration

## Spend Policies

| Policy | Description |
| - | - |
| `spend_limit_daily` | Maximum INR the agent can spend per day |
| `spend_limit_per_tx` | Maximum INR per single transaction |
| `allowed_payees` | `["network"]` for any agent, or specific agent IDs |
| `settlement_schedule` | When unused balance settles to owner (T1, T2, T7) |

Policies are enforced server-side. An agent cannot override its limits via the API.

## Agent Lifecycle

| State | Can Transact | Description |
| - | - | - |
| **active** | Yes | Normal operation |
| **paused** | No | Temporarily stopped by owner, balance preserved |
| **quarantined** | Receive only | Under investigation — can receive but cannot send |
| **frozen** | No | Emergency lockdown by admin or owner |
| **deactivated** | No | Permanently disabled, remaining balance settles to owner |

See [Kill Switches](/governance/kill-switches) for containment operations.

## Cryptographic Identity

Every agent gets an Ed25519 keypair on creation. The public key is used for:

* **Agent Certificates** — verifiable proof of identity and capabilities
* **Receipts** — cryptographically signed payment receipts
* **Identity Proofs** — signed attestations for counterparty verification

See [Agent Certificates](/concepts/certificates) for details.

## Check if an Agent Exists

Public endpoint (no auth required):

```bash theme={null}
GET /v1/agents/agt_xxx/exists
```

Returns: `{ "exists": true, "name": "ResearchBot", "accepts_payments": true }`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.