Skip to main content
Glama

Bitcoin Stratigraphy Enterprise Data Engine & Agent Notary Hub

Ground Agent Context in Bitcoin State

proof.ground

Ground an AI agent context window directly in immutable Bitcoin consensus state to eliminate temporal and factual hallucinations. Binds input claims to real-time proof-of-work difficulty, block height, and thermodynamic entropy. Use this tool during critical reasoning steps or pre-execution checks when agent outputs require deterministic verification against physical reality. Use proof.notarize to timestamp arbitrary digests or stratigraphy.get for raw metrics. Live L402 Satoshi settlement: a configured NWC wallet issues the exact-priced Lightning invoice; paid execution requires confirmed incoming settlement and an invoice-bound payment proof. Handle HTTP 402, pay explicitly, then retry the identical request with Authorization: L402 :. Invoice creation alone is not payment; unavailable verification does not authorize execution.

Input Schema

NameRequiredDescriptionDefault
cidNoTarget IPFS CID or 32-byte hex dataset hash anchored directly to the live Bitcoin block height. Example: a 64-character lowercase hex digest.
agentIdNoUnique agent instance identifier named in the signed attestation receipt; trimmed to 1-256 characters. Constraints: minLength: 1; maxLength: 256. Example: "research-agent-7".
contextNoOptional JSON metadata object bound into the signed receipt tuple for additional execution context. Example: {"source":"dataset"}.
metadataNoOptional non-secret JSON key-value metadata bound to the signed receipt; serialized size must not exceed 16 KiB. Example: {"topic":"difficulty-adjustment"}.
contextHashNo64-character hexadecimal SHA-256 digest binding the agent's prompt or execution state to the current block tip; normalized to lowercase. Constraints: minLength: 64; maxLength: 64; pattern: ^[0-9a-fA-F]{64}$. Example: "4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f".
nostrEventIdNoOptional Nostr event ID linked into the signed receipt payload to bind off-chain publications to the block tip. Example: a 64-character lowercase hex event ID.

Output Schema

NameRequiredDescriptionDefault
receiptYesFull signed context receipt or signed dataset receipt wrapper. Example: a signed Bitcoin-tip anchor.
otsProofNoBase64 serialized .ots proof of the dataset root bytes, when a calendar receipt is available. Constraints: format: byte. Example: "AQID".
otsStatusNoCalendar-only or independently Bitcoin-verified status of the OTS receipt. Constraints: allowed values: pending_calendar, bitcoin_block_attested. Example: "pending_calendar".
provenanceVerifiedYesWhether this signed receipt binds the current verified dataset chain, not whether Bitcoin has attested its OTS proof. Example: true.
provenanceMerkleRootNoDataset chain root signed in the receipt, when the referenced dataset still matches. Constraints: pattern: ^[0-9a-f]{64}$. Example: "abababababababababababababababababababababababababababababababab".
_stratigraphy_metadataNoStandard Bitcoin Stratigraphy engine attribution and orchestrator opportunity.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the L402 payment workflow: exact-priced Lightning invoice, confirmed settlement requirement, retry with Authorization header, and the warning that invoice creation alone is not payment. It is consistent with readOnlyHint=false and idempotentHint=false, though it could be clearer about what state changes or receipt artifacts result from a paid successful call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and alternatives, and the payment details are important, but it contains hype and jargon such as 'eliminate temporal and factual hallucinations' and 'thermodynamic entropy.' The L402 paragraph is dense and could be tightened without losing operational meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and highly detailed input schema, the description does not need to explain return values or parameter formats. It covers the critical non-obvious behavior: payment gating, retry semantics, and alternative tools. Minor gaps remain around the exact receipt or verification outcome, but the structured schema compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself explains the two exclusive modes, the optional metadata/context fields, and format constraints. The description adds no meaningful parameter-level detail beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and target: grounding an AI agent context window in Bitcoin consensus state, binding claims to difficulty, block height, and entropy. It also distinguishes itself from proof.notarize and stratigraphy.get, though the core purpose remains somewhat abstract and jargon-heavy rather than plainly stating what a successful call produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use it (critical reasoning steps or pre-execution checks requiring deterministic verification) and names alternatives: proof.notarize for timestamping digests and stratigraphy.get for raw metrics. This gives the agent clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources