receipt

A command that retrieves and verifies the signed final record of a Crabbox run. The record includes the run result and retained command log, while the signature checks that key details were not changed.

In plain words
What is it for?
Use it to fetch a run receipt, verify its signer and timestamps, check the command result, and inspect log integrity or truncation.
Why use it?
It gives coordinators a verifiable record of what ran, where it ran, what it returned, and whether its log was truncated.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/openclaw/crabbox/receipt
Clone the repo
git clone --depth 1 https://github.com/openclaw/crabbox
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 640 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00640
Opus 5 $0.00000 $0.00320
Sonnet 5 $0.00000 $0.00128
Haiku 4.5 $0.00000 $0.00064

Measured 2d ago against content hash 6d33ec973b68, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

receipt scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/commands/receipt.md · 62 lines

How it starts

The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.

receipt

crabbox receipt <run-id> retrieves a brokered run's committed terminal receipt, retained log, and terminal run record. It verifies the Ed25519 signature and exact coordinator-observable bindings before printing JSON.

crabbox receipt run_a1b2c3d4
crabbox receipt run_a1b2c3d4 --expected-signer sha256:<64-hex-digits>

Verification covers the run ID, lease ID, slug, provider, raw command digest, final exit code, sync and command duration, coordinator start timestamp, client-observed end timestamp, retained log hash, truncation state, public key, and signer fingerprint. For an untruncated log it also independently checks the full stream hash.

The receipt's command end timestamp is client-observed. Verification rejects an end before the coordinator start or more than 30 seconds after the coordinator-observed terminal timestamp. It does not prove the client could not backdate its own signed timestamp.

If the retained log is truncated, the receipt still signs the client's full observed stream hash, but the coordinator cannot independently recompute that hash from its retained tail. The receipt records log_truncated: true; the retained tail hash remains independently verified.

If the run has no committed receipt, the command exits without inferring success or failure from logs, events, or lease state. The execution evidence remains ambiguous.

The coordinator record is durable, but the caller still needs its run ID. Interactive use can capture the printed recording run ... line. Automation that must recover after losing client output should use run --lease-output <file> on a supported retained run; the handle is written before remote execution and includes runID.

The signer is self-signed. A passing receipt proves integrity under the embedded key, not signer continuity, a human identity, or an external hardware trust root. Use --expected-signer sha256:<hex> to require a fingerprint obtained through a trusted channel or pinned by an orchestration campaign.

Read the full file on GitHub · 62 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 62 lines · 0 tokens per session scan A 6d33ec973b68

Subscribe to this mod's changes

receipt is a command published in the GitHub repository openclaw/crabbox (1,343 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 640 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.