Verify a signed receipt envelope server-side: recomputes the canonical preimage (request_id | served_at | primitive | cells, | fact_cids,), runs ed25519 over the embedded pubkey + signature, and returns {valid, reason, pubkey_b32}. Use when the in-browser /verify path is blocked (CDN offline, age...
Part of the emem — Earth memory protocol server.
Free to start. No card required.
AI agents call emem_verify_receipt to retrieve information from emem — Earth memory protocol without modifying any data. This is common in research, monitoring, and reporting workflows where the agent needs context before taking action. Because read operations don't change state, they are generally safe to allow without restrictions -- but you may still want rate limits to control API costs.
Even though emem_verify_receipt only reads data, uncontrolled read access can leak sensitive information or rack up API costs. An agent caught in a retry loop could make thousands of calls per minute. A rate limit gives you a safety net without blocking legitimate use.
Read-only tools are safe to allow by default. No rate limit needed unless you want to control costs.
{
"version": "1",
"default": "deny",
"tools": {
"emem_verify_receipt": {}
}
} See the full emem — Earth memory protocol policy for all 81 tools.
These attack patterns abuse exactly the kind of access emem_verify_receipt gives an agent. Each links to the full case and the policy that stops it:
Other read tools across the catalogue. The same approach applies to each: allow, with a rate cap to control cost.
Verify a signed receipt envelope server-side: recomputes the canonical preimage (request_id | served_at | primitive | cells, | fact_cids,), runs ed25519 over the embedded pubkey + signature, and returns {valid, reason, pubkey_b32}. Use when the in-browser /verify path is blocked (CDN offline, agent runtime has no crypto) or when you want a server-side audit of a third-party receipt. When to use: Pass a receipt object exactly as returned by any read primitive (signature can be byte[] or sig_b32; pubkey can be byte[] or responder_pubkey_b32 — the verifier tolerates both shapes). Optionally override pubkey_b32 to assert verification against a specific signer. Returns 200 with valid: false when the signature fails — never 4xx for a structurally-well-formed bad signature.. It is categorised as a Read tool in the emem — Earth memory protocol MCP Server, which means it retrieves data without modifying state.
Register the emem — Earth memory protocol MCP server in PolicyLayer and add a rule for emem_verify_receipt: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches emem — Earth memory protocol. Nothing to install.
emem_verify_receipt is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the emem_verify_receipt rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for emem_verify_receipt. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
emem_verify_receipt is provided by the emem — Earth memory protocol MCP server (oci:ghcr.io/vortx-ai/emem:latest). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 81 emem — Earth memory protocol tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.