Skip to main content

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

PolicyDescription
spend_limit_dailyMaximum INR the agent can spend per day
spend_limit_per_txMaximum INR per single transaction
allowed_payees["network"] for any agent, or specific agent IDs
settlement_scheduleWhen unused balance settles to owner (T1, T2, T7)
Policies are enforced server-side. An agent cannot override its limits via the API.

Agent Lifecycle

StateCan TransactDescription
activeYesNormal operation
pausedNoTemporarily stopped by owner, balance preserved
quarantinedReceive onlyUnder investigation — can receive but cannot send
frozenNoEmergency lockdown by admin or owner
deactivatedNoPermanently disabled, remaining balance settles to owner
See 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 for details.

Check if an Agent Exists

Public endpoint (no auth required):
GET /v1/agents/agt_xxx/exists
Returns: { "exists": true, "name": "ResearchBot", "accepts_payments": true }