Hive
Hive Proof Architecture
The spec is precise about the check. It is precise about the split. Read together, the check has nobody left who can run it.
Verifiable Intent does the hard part well. Every layer signs, every signature resolves against a published key, and selective disclosure keeps each party to the minimum it needs. Then section 8.4 asks whether transaction_id equals checkout_hash, a comparison that reaches across the two halves the design deliberately routes to different parties. Hive signs one receipt that answers that comparison from two commitments, so the answer exists without either half being disclosed and without Hive holding either credential. Registration, tokens, authorization, cumulative state and the audit trail all stay where Mastercard put them.
We read the specification and the security model looking for the party named to hold both halves. The spec names a role and never names a party. It says verifier, it says dispute investigator, and it states plainly that Verifiable Intent “does not assign liability, specify chargeback codes, or prescribe arbitration procedures.” (security model, read August 10, 2026). Every claim about Mastercard on this page is quoted from a Mastercard owned page or from the Verifiable Intent specification, with the link and the date beside it.
Verifiable Intent splits a record on purpose, and the privacy case for splitting it is a good one. The join is what goes missing. These five run live from your browser against open verify routes, with no account and no key, and the first one is the join.
Who answers the section 8.4 comparison?
One receipt, built for a deliberately split record. Each side commits a keyed digest of the field it holds under a salt fixed before either half was presented. The equality outcome is recomputed here, and neither value is disclosed.
directory.stateWhat did the key directory hold at that instant?
Certified agents sign with keys published in a directory that changes. This fixes what one directory carried at one observation instant, from a public fetch, with the presence or absence of a queried key identifier recomputed rather than taken on trust.
admission.bindingWhich registry state admitted this agent?
Registration is the front door of the Agent Pay Acceptance Framework. This binds the agent to the admission record it came in under, so a question a year later reads a signed artifact instead of a table that has since been edited.
delegation.attenuationDid L1 to L2 to L3 only ever narrow?
Layered delegation is supposed to shrink as it descends. Every signature can be good while one hop quietly widens a scope, a cap or a window. This compares each layer against the one above it and reports the direction.
mandate.conformanceDid the transaction fit the typed constraints?
Verifiable Intent carries typed constraints such as an amount range. This recomputes whether one transaction sat inside the constraints in the mandate it claims, and reports a breach as a breach.
“The cross-reference check ( transaction_id == checkout_hash ) is performed when a verifier has access to both L3 credentials (e.g., during dispute resolution).”
“In the split L3 architecture, the merchant receives L3b and the payment network receives L3a. Each party verifies its own L3 independently.”
“Structural verification (signatures, sd_hash, key delegation) applies to each L3 independently.”
“Verifier Any party that validates a VI credential chain. Merchants and payment networks are the primary verifiers.”
“Full-chain verification (dispute resolution): Disclose all mandates from all layers. This is an exceptional case used for investigating disputed transactions.”
“VI's layered delegation chain produces a self-contained evidence package that any dispute investigator can independently verify.”
“It does not assign liability, specify chargeback codes, or prescribe arbitration procedures.”
Put in order, the passages say four things. A comparison across both L3 credentials is part of verification. The two L3 credentials go to two different parties. Structural verification is defined for each half on its own. And the party who would hold both halves is described by a role, a dispute investigator, with no party named and no procedure assigned. We looked for that name in the specification and in the security model and it is not there. That is a design choice, not an oversight. Splitting the record is the right privacy answer, and the join is simply a different object from the one Verifiable Intent set out to build.
“As autonomy increases, trust cannot be implied.” “It must be proven.”
“everyone needs facts” and, in the same sentence, “not guesswork”
“If a dispute occurs, all parties can rely on a clear audit trail to resolve it quickly and fairly.”
“This data also provides the merchant with an audit trail that may be used to help avoid and/or resolve potential cardholder disputes.”
Hive agrees with the first quote and reads it literally. A proof needs a party who can compute it. Where the record is split so that no party holds both halves, the proof has to come from a joiner who holds neither, and that is the whole of what mandate.crossreference does.
The left column is Mastercard's, quoted from Mastercard pages. It stays authoritative and it keeps working exactly as it does today. The right column is one receipt each, and every one of them runs on this page.
One line separates the columns. Mastercard verifies what it built to verify, and it built it well. A join across a record that was split on purpose is a different object, and it needs a party who holds neither half. Hive is that party. Hive signs typed receipts about payment and agent events and is never a party to anything it signs. Verification is open, needs no account, and runs offline against a published key in single digit milliseconds.
Registration and certification, agentic tokens, the pre authorization credential chain check, cumulative constraint state, the audit trail, and the authorization decision at the issuing institution. Nothing moves out of Mastercard's control and nothing on this page asks for a change to any of it.
The signer and the open verifier underneath. An artifact a counterparty checks is cryptographically separate from the operating record it refers to. Independence is the whole product. Ed25519 and ML-DSA-65 under FIPS 204, canonicalised with RFC 8785 JCS, patent pending.
The transaction path runs across the top and stays Mastercard's. Hive receipts bind underneath as each step passes. Switch Hive off and watch what the path does.
Hive is a sidecar and Hive fails open. If Hive is unreachable the transaction proceeds and nothing is blocked. Take Hive out and network behaviour is identical to today. There is no shim to unwind, no policy to restore and no settlement dependency to migrate, because Hive never held any of them. Receipts issued earlier still verify offline from the artifact itself against a published key, with no call to Hive.
These come out of an internal census of 94 named objects across every published agentic payment protocol. Nine rows in the Mastercard section carry a direct rating against an existing Hive type: rows 21, 22 and 27 for registration and the interaction tag, rows 29, 30 and 37 for the layered chain, rows 31 and 32 for the split halves, and row 35 for typed constraints. Two rows are here for the opposite reason and the page says so. Row 33, the cross reference, and the directory rows were rated a partial fit and no fit, and they are the two the sweep told us to build. A partial match sold as a direct one is how an evidence vendor loses the argument, so both are labelled.
admission.binding fixes which admission record this agent came in under, at the moment it came in. Registration, vetting and certification stay entirely Mastercard's.authority.delegation records the chain and delegation.attenuation reports whether every hop narrowed. Neither one gates presentation and neither one replaces a signature check.mandate.crossreference recomputes the section 8.4 comparison from the two commitments and signs the outcome. A dispute investigator reads one artifact, offline, against a published key. The receipt allocates no fault, which matches a specification that assigns none.Two states only on this page. LIVE IN PRODUCTION means a Hive production endpoint answered on August 10, 2026, and the runnable demos below prove it from your own browser. COMPOSITE VIEW means the entry reads receipts produced by other instruments and mints nothing of its own. Production as verified on August 10, 2026: 69 typed receipt types, 95 canon entries, 21 white papers, 47 partner pages. Everything here is patent pending.
We fetched five published endpoints today and wrote down what came back. This is a snapshot of the industry, not a scorecard for any company. The pattern is the same everywhere we looked and it is the honest starting point for this brief. Agent identity has a public resolution path that anyone can walk. The authority behind an agent action has no public resolution path at all, because the record that would answer it was split on purpose.
Two readings of the same table. The first is that the signature layer of agentic commerce is genuinely open, and it works, and a third party adds nothing to it. The second is that the interesting questions have moved. Which authority did this agent act under, and did the two halves of the record agree. Those are joins, and a join across a deliberately split record is exactly what a non party can compute and the parties cannot. Every status above is one curl away from being reproduced by your own team.
Pick a boundary. Registration, tokens, the pre authorization chain check, cumulative state, the audit trail and the authorization decision stay exactly where they are throughout.
Everything below runs against production right now. Paste it into a terminal. The example receipts are signed with published example keys, so verify reports key_trust example_registry, which is on purpose.
That returns valid true with every gate reported one by one, including WINDOW_SALT_PRECEDENCE, CROSS_REFERENCE_FIELD_DECLARED, MERCHANT_SIDE_ARTIFACT_INTEGRITY and PAYMENT_SIDE_ARTIFACT_INTEGRITY. Now edit the answer and send it again.
Nobody edits an outcome after the fact, including us. If you would rather cut Hive out of the check entirely, the Ed25519 public keys are published at thehiveryiq.com/v1/keys and you can validate the signature inside your own process with any standard library. Signing also runs ML-DSA-65 under FIPS 204, with a 1952 byte public key and a 3309 byte signature, canonicalised with RFC 8785 JCS.
directory.state attaches to.Level 1 agentic commerce guideEvery title above is quoted from a Mastercard owned page, linked beside it, read on August 10, 2026. Hive has no relationship with any person named here and nothing on this page implies one.
Point one sandbox agent at the two receipts for 30 days. Nothing in the authorization, token or settlement path is touched, and no live transaction depends on any of it.
The shape is small on purpose. Your team keeps its own keys and signs its own commitments. Hive receives keyed digests and declared field names, and never a credential. You hold the receipts beside your own logs and check whether the answers agree with what your logs already say. If they do not agree, that is the finding and it cost you a sandbox. Hive removes itself on request at any point, and receipts issued before that still verify offline against a published key.
Direct contact. Stephen Rotzin, Hive Civilization Inc.
Email [email protected]
Phone 925 699 7807
Reply with the sandbox scope and the two commitment shapes your side can emit, and the shadow run starts from there. No call is needed to begin, and everything on this page is already checkable without one.
Every run below posts a verified request body from this domain to an open verify route and prints exactly what came back. Nothing is precomputed and nothing is cached in the page. The first card is the section 8.4 join. Two of the runs return valid false on purpose, because a verifier that agrees with whatever the caller says is worth nothing in a dispute. The example receipts are signed with published example keys, so verify reports key_trust example_registry. The examples payload is large, so give the first click a moment.
This is the receipt built for a record that was split on purpose. Each side commits a keyed digest of the one cross reference field it declares, under a window salt committed before either artifact was presented, and each commitment is attested by its own registered key. The verifier recomputes the equality outcome from the two commitments. Neither credential, neither field value and no salt is disclosed to anybody, Hive included, and the party doing the join holds neither half.
What it does not do. It does not attest that either artifact is genuine, complete or unaltered before commitment, that either attestor is entitled to hold what it committed, or that the transaction occurred, was authorised or settled. It does not attest that the cross reference field is the right field for any purpose. A mismatch outcome does not mean either side is wrong, and this receipt allocates no fault.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Certified agents sign with keys published in a directory, and a directory changes. This receipt records that a named observer retrieved a named directory at a named URL at an instant placed against an external time reference with a stated drift bound, that the content hashed to a stated digest, and that the presence or absence of one queried key identifier was recomputed from the committed content rather than supplied by the caller. The input is a public web fetch, so nobody has to cooperate for the evidence to exist.
What it does not do. It does not attest that the directory content is correct, that the publisher is entitled to publish it, that any key in it is validly issued or under anyone's custody, or that a key absent from it does not exist elsewhere. It does not attest that another observer would have seen the same content at the same instant, and it does not decide whether any message should have been blocked.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Registration is the front door. Later, when somebody asks what this agent was admitted under, the answer should be a signed record from the day it joined rather than a row in a table that has been edited since. This receipt shows that a supplied admission credential and one supplied conduct receipt yield byte identical subject commitments under a binding salt the admission credential already commits to, and that the conduct instant falls inside the signed separation.
What it does not do. It does not attest that the admission credential is validly issued, that any admitting party is entitled to admit, that either identifier is true, that the conduct occurred, or that the conduct was authorised. It authorises nothing and decides no dispute.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Layered delegation is supposed to shrink as it descends from L1 to L2 to L3. In practice a hop can add a scope, raise a cap or push an expiry out while every signature stays valid. This receipt compares each hop against the one above it on scope, amount and time and reports whether the chain only narrowed. It reads the whole chain rather than the last link.
What it does not do. It does not decide whether the top of the chain should have held that authority. It answers one question, which is whether anything widened on the way down.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Verifiable Intent carries typed constraints such as an amount range. This receipt compares one named transaction against one delegated authority receipt signed before the transaction was authorised, on amount, currency, timing and scope, and recomputes the result instead of accepting a caller supplied answer. The second run below is a record whose stated result was a pass while the recomputed value is a fail. It returns valid false, and the failed gate is named.
What it does not do. It does not prove that a cardholder granted the delegation, that the agent identity is genuine, that a network authorised or settled the transaction, or that goods were delivered. It is not payment authorisation, holds no cardholder credential, and cannot resolve or affect a dispute.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Two record holders, one event, two sets of books. Each side commits, and the verifier recomputes the comparison. A genuine disagreement is reported as a disagreement. The third run is a disagreement relabelled as a match, and it fails the commitment equality gate. That run returns valid false on purpose, because a verifier that flatters the caller is worth nothing in a dispute.
What it does not do. It does not decide which book is right, does not reconcile anything, and does not allocate fault. It reports whether the stated relation between two commitments survives recomputation.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
A cap enforced at one acceptor does nothing if the same mandate is presented at ten. This receipt fixes each acceptor's consumption as a commitment under keyed pseudonyms and a committed window salt, then reports the cumulative relation to the mandate constraint, so a total is checkable without any acceptor handing another its transaction history.
What it does not do. It does not reconcile ledgers, reverse anything, or say which acceptor should have declined. Coverage is bounded by who reports, and a presentation nobody committed does not appear.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Revocation is easy to publish and hard to prove. The question after an incident is whether the acting party could have known, at the moment it acted, that the authority had been pulled. This receipt binds the revocation event, the propagation bound the publisher committed to, and the instant of the action, then classifies the action as before the revocation or after the bound.
What it does not do. It does not perform the revocation and it does not stop an action. It records where the action fell relative to a revocation that was already published.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
Nothing has run yet. Click Run it and the answer below comes back from the verifier, not from this page.
These runs are open verification, with no account, no key and no call to Hive beyond the verify route itself. Nothing on this page is a production issuance, a customer record, an integration or an endorsement. Patent Pending.
Each link opens that entry in the canon implementation explorer, where its schema, mint route, open verify route, auth requirement and implementation state are stated. The state shown here is read from the same registry file the explorer renders from, so the two cannot drift apart. Nothing here implies a customer, a deployment or an endorsement.