Skip to main content
Glama

verify_proof

Look up one identifier (chunk_id, proof_id, match_id, transfer id, or a BSV txid) in ENYAL's public verify lookup — no auth. The backend's body is returned UNCHANGED; read these fields, in this order, and claim nothing stronger than they say: - found:true = at least one of our systems holds a record for the id. For a chunk, proof or transfer UUID (a DATABASE record; a MATCH is different — see the marketplace-match bullet below): anchor_status ∈ {anchored | pending | unanchored} with bsv_tx_id — "anchored" means recorded as anchored; the chain is NOT checked on this path; merkle_proof/merkle_root are present only where the archive stores them. To check the chain, look up the returned bsv_tx_id. - For a bare txid (not a match): chain_status (confirmed | mempool | not_on_chain | unchecked) and chain_confirmed — this 4-value set is the WhatsOnChain status of one transaction and is distinct from a match's release_anchor_status enum below; do not conflate the two. Only chain_confirmed:true is a verified anchor. mempool can still be evicted. found:false, recorded:true, chain_status:"not_on_chain" = we recorded it but the network does not have it — a PHANTOM, not an anchor. Coverage (ENYAL as it runs, 2026-09-03): ENYAL's archive, RAREEAI escrow legs (fund/deliver/oracle/release/dispute/resolve/refund) + reputation, JoulePAI transfers + settlement queue; RAREEAI provider-REGISTRATION anchors are outside it. - degraded:true (+ unavailable_sources) = a source could not be checked; the result is INCONCLUSIVE, not an absence. Only found:false, degraded:false is a clean not-found. - For a RAREEAI marketplace match the body carries TWO INDEPENDENT on-chain claims — read both, collapse neither: ledger_payout_anchor (the joule movement that settled the trade — provider payout or buyer refund — with its own txid/block_height/status; this is the anchor a customer checks today, and it nests a batched settlement_proof leaf) and escrow_contract_release_anchor (the sCrypt escrow contract's terminal leg — its confirmed transaction id is settlement_tx, surfaced flat as release_anchor_status). release_anchor_status is an ENUM in the escrow lane's own vocabulary — read the value AND its note, never reduce it to anchored/not-anchored: confirmed | pending | unreachable | unanchored_open | closed_unanchored | fund_never_anchored | pre_contract | test_resolved | in_progress | ledger_lane. Only confirmed is a chain-confirmed contract release; pending/unreachable mean a release txid EXISTS but the chain has not confirmed it yet (pending) or WhatsOnChain could not be reached (unreachable) — retry, do not read them as unanchored. Every OTHER value explains why there is no contract txid at all — a ledger-lane, closed-unanchored, fund-never-anchored, pre-contract, test-resolved or in-progress trade is settled by the joule movement in ledger_payout_anchor, NOT by a missing anchor. Bridge-Ledger (contribution/fee) events are not in THIS ENYAL lookup, but they ARE anchored — batched into the hourly transparency attestation (bridge_root; anchored in an OP_RETURN transaction, usually within minutes, longer when the network is busy), and checkable with the bridge_proof tool (newest rows read anchoring "pending" until their batch is broadcast, then carry the batch txid). Graph edges are not verifiable here. This tool never decides — it relays ENYAL's verdict fields; a proof-ref it does not return does not exist as far as this lookup can see.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
identifierYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
countNo
foundNoa record exists in at least one source
resultsNoper-record verdicts, passed through untouched
degradedNotrue = INCONCLUSIVE, never an absence
recordedNowe hold it even if the chain does not
identifierNo
chain_statusNobare-txid lookups: confirmed|mempool|not_on_chain|unchecked
chain_confirmedNoonly true is a verified anchor
unavailable_sourcesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "verify_proof — the ENVELOPE only. `results` is an OPAQUE list and must stay that way: every\nper-record verdict field lives inside it, including `release_anchor_status` (11 values) and the\ntwo independent anchors (ledger_payout_anchor, escrow_contract_release_anchor). Modelling the\ninner records would risk collapsing or refusing an enum value, which is precisely the false\ncertainty this tool exists to prevent. Read the envelope for reachability, the records for verdicts.",
      +  "properties": {
      +    "chain_confirmed": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "only true is a verified anchor",
      +      "title": "Chain Confirmed"
      +    },
      +    "chain_status": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "bare-txid lookups: confirmed|mempool|not_on_chain|unchecked",
      +      "title": "Chain Status"
      +    },
      +    "count": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Count"
      +    },
      +    "degraded": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "true = INCONCLUSIVE, never an absence",
      +      "title": "Degraded"
      +    },
      +    "found": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "a record exists in at least one source",
      +      "title": "Found"
      +    },
      +    "identifier": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Identifier"
      +    },
      +    "note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Note"
      +    },
      +    "recorded": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "we hold it even if the chain does not",
      +      "title": "Recorded"
      +    },
      +    "results": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "per-record verdicts, passed through untouched",
      +      "title": "Results"
      +    },
      +    "unavailable_sources": {
      +      "anyOf": [
      +        {},
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Unavailable Sources"
      +    }
      +  },
      +  "title": "VerifyOut",
      +  "type": "object"
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources