receipts.seal
Append the HASHES of an AI action to GBLIN's public RFC 6962 transparency log and return a portable receipt: Ed25519 signature, inclusion proof, operator-signed C2SP checkpoint, plus the latest on-chain anchor (EAS on Base, daily). mode=demo (the only mode over MCP): 5 seals/day/IP, receipts marked demo:true. Unlimited seals are a paid x402 HTTP endpoint (resource gblin://howto/seal). Provenance is self-reported: the receipt proves existence and time of the record, not that the action happened. The action/agent_id/tool/meta strings are PUBLISHED in the log: identifiers only, never secrets. Fields not listed here are ignored and NOT recorded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Extra JSON object as a string (optional). PUBLISHED. | |
| mode | No | Only 'demo' is available over MCP (5/day/IP). Paid seals go through x402 HTTP. | demo |
| tool | No | Tool/model used (optional). PUBLISHED. | |
| action | Yes | What the AI did, short label. PUBLISHED in the log. | |
| agent_id | No | Your agent identifier (optional). PUBLISHED. | |
| input_hash | Yes | sha256 of the input/prompt, 64 hex chars (0x prefix optional) | |
| output_hash | No | sha256 of the output, 64 hex chars (optional; empty or blank = omitted) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| leaf | Yes | base64 SHA256(0x00 || canonical) | |
| root | Yes | base64 Merkle root at tree_size | |
| index | Yes | ||
| anchor | Yes | Latest daily EAS anchor of the tree root on Base and whether it already covers this receipt | |
| format | Yes | ||
| payload | Yes | The signed, canonicalized record (gblin-canonical-json/1) | |
| signature | Yes | base64 Ed25519 over 'gblin-receipt/v1\n' + canonical | |
| tree_size | Yes | ||
| checkpoint | Yes | C2SP signed note (origin, size, root) | |
| provenance | Yes | What the receipt does and does not prove | |
| verifier_key | Yes | C2SP note verifier key: origin+hash+base64(0x01||pub) | |
| inclusion_proof | Yes |