Action Receipts
action_receiptAction Receipts: Ed25519-signed, hash-chained attestation of an agent-reported action and status; not evidence the action happened or a legal compliance certification. Per caller and agent chain; concurrent appends serialize with compare-and-set. Raw action/reference are hashed, not stored. event_id per agent is the authoritative idempotency key; a custom HTTP key cannot override it. Same event_id/body returns the same receipt; changed body conflicts. Optional children (1-64 receipt UUIDs) closes a run: the signed children_root digests ordered child receipt_hash values so any added, dropped or swapped step fails verification. GET /v1/receipt/verify?id=<receipt_id> is free and returns the receipt to anyone who knows its unguessable ID; children_root_valid is set when children are present. A receipt proves the record is unchanged since issued, not that a payment was correct or an outside action happened. Or pass receipt= to verify a portable receipt. Keep IDs private if your agent IDs/status are sensitive. Records persist until the API key is deleted; keyless records have no automatic expiry. $0.003 per call; shared 3 free calls per UTC day without a key (daily private IP namespace), plus 10/day with a free key. Anonymous scopes rotate daily; use a key for a persistent ledger/chain. Send the same Bearer key plus a payment header to keep the same ledger/chain after the allowance runs out.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"agent_id": "<agent_id>",
"event_id": "<event_id>",
"action": "<action>",
"status": "<status>"
},
"name": "action_receipt"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| status | Yes | ||
| agent_id | Yes | ||
| children | No | Ordered child receipt ids. Signs children_root over their receipt_hash values so any added, dropped or swapped step fails verification. | |
| event_id | Yes | ||
| reference | No | ||
| action_sha256 | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes | ||
| keys_url | Yes | ||
| replayed | No | ||
| request_id | No | ||
| verify_url | Yes | ||
| receipt_hash | Yes |