Skip to content
Integra Lens
Menu

Agentic commerce readiness report

Integra Lens Merch Shop

integralens.store · Checked 3 Oct 2026, 23:41 UTC · 48 requests

Export

Markdown

The same report as text, for a ticket, a pull request or an email.

integralens.store

Agreeable · Checked 3 Oct 2026, 23:41 UTC

AI agents can know who sells what, for how much, and on what terms, but find no checkout they can complete without a browser.

StageNeeded checks
Discoverable ✓ Reached✓✓ All 2 needed checks pass
Agreeable ✓ Reached✓✓✓✓✓✓✓✓✓ All 9 needed checks pass
Transactable ● Next✕◌ 0 of 2 needed checks pass
Provable ○ Not yet✕◌✕ 0 of 3 needed checks pass

Next: Transactable

2 checks to go · 1 can start now

#FixOwner · time
1Order links AI agents can buildDeveloper · Weeks

See the whole plan · 11 fixes

Discoverable · Reached

Can AI agents find what you sell? An agent starts with your address and nothing else.

Findings · 2 of 2 pass

CheckStatusWhat Lens found
Catalog ✓┃✓✕1 of 1 pass
Product details software can read✓ Passed
Access ✓1 of 1 pass
Letting honest AI agents in✓ Passed

Beyond the minimum

Checks this stage grades but does not require.

CheckStatusWhat Lens found
Catalog ✓✕1 of 2 pass
A product list AI agents can download✓ Passed
An agent interface that answers product searches✕ To fix · Developer · WeeksWe didn't find an agent interface on your site that lists products with prices.

Commercial certainty

How sure a buyer's agent can be of the deal, beyond what the stage needs. Scored apart from the stage.

What a buyer's agent needsLevelMissing
Keeps working after updates–––– 1 of 5

Agreeable · Reached

Do AI agents know what they would agree to? Before it commits someone's money, an agent needs the seller, the exact product, the full price and the terms.

Findings · 9 of 9 pass

CheckStatusWhat Lens found
Terms ✓✓✓✓┃✓✓✓4 of 4 pass
Terms of sale AI agents can read✓ Passed
Dated terms✓ Passed
Versioned terms✓ Passed
Terms that stay the same✓ Passed
Seller ✓1 of 1 pass
Your legal name, machine-readable✓ Passed
Product ✓1 of 1 pass
Product identifiers✓ Passed
Price ✓✓✓┃✓3 of 3 pass
Prices software can read✓ Passed
Whether tax is included✓ Passed
The total before committing✓ Passed

Beyond the minimum

Checks this stage grades but does not require.

CheckStatusWhat Lens found
Agreement record ✕◌0 of 2 pass
A checkable record of each agreement✕ To fix · CTO · WeeksWe didn't find payments linked to a checkable record of what was agreed.
The terms inside each agreement◌ Waiting
Terms ✓✓✓3 of 3 pass
Terms in a clean format✓ Passed
The same terms everywhere✓ Passed
Terms locked by a fingerprint✓ Passed
Price ✓1 of 1 pass
How long a price holds✓ Passed

Commercial certainty

How sure a buyer's agent can be of the deal, beyond what the stage needs. Scored apart from the stage.

What a buyer's agent needsLevelMissing
Returns and disputes✕✓✓✓ 1 of 5Missing: a returns policy page.

Transactable · Next

Can AI agents buy without a browser? An agent needs a checkout it can complete without a browser, and a way to pay built for agents.

Findings · 0 of 2 pass

CheckStatusWhat Lens found
Purchase ✕◌┃◌0 of 2 pass
Order links AI agents can build✕ To fix · Developer · WeeksWe couldn't find a way for AI agents to start an order without a browser.
A checkout for AI agents◌ Waiting

Beyond the minimum

Checks this stage grades but does not require.

CheckStatusWhat Lens found
Purchase ◌0 of 1 pass
A way for AI agents to pay◌ Waiting

Commercial certainty

How sure a buyer's agent can be of the deal, beyond what the stage needs. Scored apart from the stage.

What a buyer's agent needsLevelMissing
In stock, with a delivery date✓✕✓✓ 2 of 5Missing: stock level.

Provable · Not yet

Can both sides prove what was agreed? With no person watching, the proof of the deal has to travel with the payment.

It also needs Transactable.

Findings · 0 of 3 pass

CheckStatusWhat Lens found
Agreement record ✕◌0 of 2 pass
A checkable record of each agreement✕ To fix · CTO · WeeksWe didn't find payments linked to a checkable record of what was agreed.
The terms inside each agreement◌ Waiting
Binding ✕┃◌–0 of 1 pass
The agreement inside the payment✕ To fix · CTO · WeeksWe didn't find payments whose buyer approval carries the agreement record's fingerprint.

Beyond the minimum

Checks this stage grades but does not require.

CheckStatusWhat Lens found
Binding ◌–0 of 2 pass
A proof anyone can check◌ Waiting
Agreements proven on a public ledger– Not checked
Product ✓✕–1 of 3 pass
Identifiers that lead somewhere✓ Passed
Signed product records✕ To fix · Outside vendor · WeeksWe didn't find a signed record of what the product is from a party tied to you or the brand.
Product versions on record– Not checked
Seller ✕◌0 of 2 pass
A registered company behind the site✕ To fix · Legal · Weeks to monthsWe didn't find a legal entity on your site that a public register confirms.
Verified by an independent party◌ Waiting

The plan · 11 fixes

Reach Transactable · 2 fixes

#FixOwnerTypical timeAfter
1Order links AI agents can buildDeveloperWeeks
2A checkout for AI agentsDeveloperWeeksafter 1

Reach Provable · 3 fixes

#FixOwnerTypical timeAfter
3A checkable record of each agreementCTOWeeks
4The terms inside each agreementDeveloperWeeksafter 3
5The agreement inside the paymentCTOWeeksafter 4

Go further · 6 fixes

No stage needs these.

#FixOwnerTypical timeAfter
6An agent interface that answers product searchesDeveloperWeeks
7A way for AI agents to payFinanceWeeksafter 2
8A proof anyone can checkCTOWeeksafter 5
9Signed product recordsOutside vendorWeeks
10A registered company behind the siteLegalWeeks to months
11Verified by an independent partyMarketingWeeks to monthsafter 10

By owner

OwnerFixes
Developer1, 2, 4, 6
CTO3, 5, 8
Finance7
Outside vendor9
Legal10
Marketing11

Each fix's exact change is in the technical appendix, under its number.

Technical appendix

For your engineers: each check's code and recorded outcome, the evidence behind it, and how to check this report without trusting Lens.

The fixes in detail

Numbered as in the plan.

#CodeFixWhat to do
1R2.2Order links AI agents can buildOffer an agent commerce protocol (R2.3). Cart links lead there in any case. How Lens re-checks it: A cart link an agent can build from a catalog product, your UCP profile's permalink capability, or an agent checkout.
2R2.3A checkout for AI agentsPublish the UCP checkout capability, or ACP's discovery document. How Lens re-checks it: Your UCP profile declares checkout and its MCP tool list advertises all five checkout tools, or you publish ACP's discovery document.
3R10.2A checkable record of each agreementAssemble an agreement record for each transaction and advertise its hash. Tools for this: the @integraledger/lcp package or the Integra appliance. How Lens re-checks it: A payment challenge carries the agreement record's hash and address, and the record served there matches it.
4R10.3The terms inside each agreementWrite the published terms' digest into every agreement record. How Lens re-checks it: The agreement record contains your published terms' hash.
5R6.2The agreement inside the paymentTake payment through a method where the buyer's signature covers the agreement record's hash. How Lens re-checks it: The buyer's approval of the payment covers the agreement record's hash.
6R1.4An agent interface that answers product searchesPublish a UCP business profile with the catalog capability. Shopify stores have one by default. How Lens re-checks it: An agent interface, such as your UCP profile, answers a catalog query with a product, or an OpenAPI document declares paid operations.
7R2.4A way for AI agents to payAccept x402, MPP or L402 payments, or offer AP2 mandates or an agent-usable payment handler through UCP. How Lens re-checks it: At least one payment challenge or declaration built for agents, such as x402 or MPP.
8R6.3A proof anyone can checkTake payment through a method that settles in public, so anyone can check the hash it carries. How Lens re-checks it: Your payment uses a placement whose pattern lets anyone check the binding from public data alone.
9R8.4Signed product recordsPublish product passports signed by the seller or the brand owner. How Lens re-checks it: A signed product passport, linked from the product page and issued by a party bound to your site, verifies and names the same product, for at least 90% of the products checked.
10R7.3A registered company behind the sitePublish legalName and a register identifier (an LEI, an EU VAT number, a CIK, a UK company number or an ABN) in schema.org/Organization, writing the name as the register does. How Lens re-checks it: A public register confirms an identifier you publish, under the same legal name.
11R7.4Verified by an independent partyObtain a Verified Mark or Common Mark Certificate for the domain and publish it in its BIMI record, or a Digital Identity Anchor from your business register linked from your DID document. How Lens re-checks it: A verified mark certificate for your domain, in your BIMI record, chains to a listed root, is not revoked, and names the organization a register confirmed.

Ladders

Each ladder's level is the highest rung whose checks, and every one below it, pass. The ceiling is the level it could reach if every check Lens couldn't make had passed.

CodeLadderLevelCeiling
R1Catalog3 of 4
R2Purchase1 of 4
R3Access2 of 2
R4Terms8 of 8
R6Binding1 of 4
R7Seller2 of 4
R8Product3 of 5
R9Price5 of 5
R10Agreement record1 of 3

Every check

30 checks, by ladder, lowest rung first.

CodeCheckRecordedReasonAsked as · from
R1.2Product details software can readmet · Passedhttps://integralens.store/products/standard-sweatshirt carries a structured product in JSON-LD: "Wear the Standard Sweatshirt", with a price and a currency.anon · cf-worker
R1.3A product list AI agents can downloadmet · Passedhttps://integralens.store/products.json?limit=10 answers with 8 catalog product(s), each with a title and a price.anon · cf-worker
R1.4An agent interface that answers product searchesnot_met · To fixNo agent interface answered a catalog query: the site publishes no UCP business profile, and no other agent interface lists its products.anon · cf-worker
R2.2Order links AI agents can buildnot_met · To fixThe platform could not be identified, so no documented cart link applies.anon · cf-worker
R2.3A checkout for AI agentsnot_met · WaitingThe site offers no agent protocol path to checkout: no UCP profile declaring checkout, and no public ACP discovery document.anon · cf-worker
R2.4A way for AI agents to paynot_met · WaitingLens met no payment method built for agents: no well-formed x402, MPP, L402 or A402 challenge, no paid OpenAPI operation, no AP2 declaration or A2A payment extension, and no UCP payment handler that issues a credential an agent can use.lens, anon · cf-worker
R3.2Letting honest AI agents inmet · PassedThe home page admits an AI agent that says what it is, and so does the agent surface it publishes (/.well-known/legal-context.json).anon · cf-worker
R4.2Terms of sale AI agents can readmet · Passedhttps://integralens.store/terms.md is served as text an agent can read (480 words), and the site declares it as its terms.anon · cf-worker
R4.3Dated termsmet · PassedThe terms are dated: "Last updated: October 2, 2026".anon · cf-worker
R4.4Versioned termsmet · PassedThe terms state their version: "Version 1.0".anon · cf-worker
R4.5Terms that stay the samemet · PassedTwo fetches of the terms returned identical bytes (0xb49f89445cbe68ed7b1dce2b10cef8bc5c749c8683b4816bf1ceb1aac93d6adf).anon · cf-worker
R4.6Terms in a clean formatmet · PassedThe terms are served as text/markdown.anon · cf-worker
R4.7The same terms everywheremet · PassedThe model found that the terms shown elsewhere state the same terms as the legal context's. The model's notes: No differences found. Judged by google/gemini-3.8-flash, prompt R4.7@1, on the evidence cited.anon · cf-worker
R4.8Terms locked by a fingerprintmet · PassedThe legal context pins its terms by atrHash, and both fetches of the terms hash to it.anon · cf-worker
R6.2The agreement inside the paymentnot_met · To fixNo agreement record passes the buyer gate (R10.2): No payment challenge Lens met declares an agreement record's hash.anon · cf-worker
R6.3A proof anyone can checknot_met · WaitingThe buyer's approval does not carry H (R6.2): No agreement record passes the buyer gate (R10.2): No payment challenge Lens met declares an agreement record's hash.anon · cf-worker
R6.4Agreements proven on a public ledgernot_tested · Not checkedThe settled payment check was skipped: no consent from the seller to a nominal transaction (decision 13).not established — it cites no exchange
R7.2Your legal name, machine-readablemet · PassedThe seller names its legal entity at https://integralens.store/products/standard-sweatshirt: "Integra Ledger, Inc.".anon · cf-worker
R7.3A registered company behind the sitenot_met · To fixThe site names no legal entity with a register identifier (leiCode, vatID, taxID, duns, iso6523Code, globalLocationNumber, or an identifier PropertyValue such as a CIK or a company number): not in the schema.org Organization of any page Lens read, the UCP profile or the DID document.anon · cf-worker
R7.4Verified by an independent partynot_met · WaitingThe site holds no third-party credential bound to its domain that Lens can see. BIMI: integralens.store publishes no BIMI record at default._bimi.integralens.store. UNTP DIA: no DID the origin links names a Digital Identity Anchor (a service of type untp:dia).lens, anon · cf-worker
R8.2Product identifiersmet · Passed11 of 11 sampled products carry a valid, consistent identifier (0 with a global identifier, 11 merchant-scoped only), over a sample of 11 products (8 from the catalog, 3 from product pages): at least 90%.anon · cf-worker
R8.3Identifiers that lead somewheremet · Passed3 of the 3 products Lens resolved, drawn from a sample of 11 products (8 from the catalog, 3 from product pages), resolve to the product's own record, at least 90%. Wear the Standard Sweatshirt (identifier https://integralens.store/products/standard-sweatshirt): the identifier is on the seller's domain and is the product page Lens read, which answered HTTP 200. LCP Logo Tee (identifier https://integralens.store/products/lcp-tee): the identifier is on the seller's domain and is the product page Lens read, which answered HTTP 200. Integra Lens Tee (identifier https://integralens.store/products/integra-lens-tee): the identifier is on the seller's domain and is the product page Lens read, which answered HTTP 200.anon · cf-worker
R8.4Signed product recordsnot_met · To fixThe product page links no product record: no dpp link (an HTML link element or a Link header), and no schema.org hasDigitalProductPassport.anon · cf-worker
R8.5Product versions on recordnot_tested · Not checkedSame reason as R6.4.not established — it cites no exchange
R9.2Prices software can readmet · Passedhttps://integralens.store/products/standard-sweatshirt publishes a price and its currency machine-readably.anon · cf-worker
R9.3Whether tax is includedmet · Passedhttps://integralens.store/products/standard-sweatshirt: an offer states that its price excludes tax.anon · cf-worker
R9.4The total before committingmet · Passedhttps://integralens.store/products/standard-sweatshirt: delivery is priced before purchase.anon · cf-worker
R9.5How long a price holdsmet · Passedhttps://integralens.store/products/standard-sweatshirt: an offer states that its price holds until 2026-12-31.anon · cf-worker
R10.2A checkable record of each agreementnot_met · To fixNo payment challenge Lens met declares an agreement record's hash.anon · cf-worker
R10.3The terms inside each agreementnot_met · WaitingSame reason as R6.2.anon · cf-worker

Every digest, whole. Each digest is the SHA-256 of bytes the probe captured, and those bytes are served at the address below, so re-hashing what you fetch must give the same value.

https://lens.integraledger.com/reports/0x61fbf7c583dbb8ef0d49d3b709ed07c725c84b12c7d4eac0f1b4cfd50c7cac40/evidence/<sha256>
0x43b3119732886e8a977345ebe7b024b98a5b56fcc6f93f510ba6a2605f1db053  R1.2 R7.2 R8.2 R8.3 R8.4 R9.2 R9.3 R9.4 R9.5
0x43ad8a4aa482a78761c95658fb5b377cfa6d3e06c42ff440217267665a00bce8  R1.3 R2.2 R8.2 R8.3
0x6f98c6f751981f94fdde8bdbb9d809a7e1cf82416e1124a96175a5dfa29c2e08  R1.4 R2.3 R2.4 R7.3
0x6a6376d9d0053b02d621821173d75d7cd38171ec18f54951a21908f6e901851a  R2.2 R2.4 R3.2 R6.2 R6.3 R7.3 R10.2 R10.3
0x7ddbdf6dddf7ec471b6a2e1e6a41925059763633bc341c57adc6f7c8dfd8b40b  R2.2
0xfbff22b1ea58ee2159b6080c912846a1c64d96c8bef279d2f6bfd3fb5c386dfa  R2.3
0xad2e571ba90b6ea6e429f0eaaf55025837a7ec560b09f1029538c57382dbef98  R2.4
0xd6a8bc266c5b2bbe2fd01d7d4152a685385067de6cb31afe91b621eec9d7bf13  R3.2 R4.7 R4.8
0xe53fb68286125bf637b5c55faeae06f93a40c1fb6107a24ab2abae33d5d6ea2f  R4.2 R4.3 R4.4 R4.5 R4.6 R4.7 R4.8
0x0d70d522dfa3628aa093e4518582f64e64a252e6e46535cfe58bd8b2f6a36fa6  R4.5 R4.8
0xdbb40d76d3c08e303374d78e2542521385b85c986979b3cc8cf649ba17fd8c3d  R4.7
0x67b4d704ee43d15f21ee280323de755b4c2cee497aa4f9ff8057187bdb26a322  R7.3 R7.4
0x6601221eaff2104718dadc5dd7fca4b08dfbf94749af0b679d831b04d7d92c6d  R7.4
0x8693c0c87045b9cac431aa6c93669b163b564212beb3960c70d4ac9884874e03  R7.4
0x2614a837d2d21d7cc737d37f51155a0867033bdb32701dff758749f67803a707  R8.2 R8.3
0x7ee49532a4677f5f1b735e2731b0037b604f97b668eb3f5a9faed8976aa35e44  R8.2 R8.3

Commercial certainty, rung by rung

CodeLadderRecordedReasonWhat to do
C2.2Fulfillment certaintymetAvailability is published per item.
C2.3Fulfillment certaintynot_metAvailability is stated only as in or out of stock.Publish inventoryLevel, or availabilityStarts where an item is awaiting restock.
C2.4Fulfillment certaintymetA delivery estimate is published before purchase.
C2.5Fulfillment certaintymetDelivery is priced per destination.
C3.2Recoursenot_metNo returns or cancellation document was found.Publish the returns policy at its own URL and link it.
C3.3RecoursemetA returns policy is published machine-readably.
C3.4RecoursemetThe return window or category is given as a value.
C3.5RecoursemetA route to a human is published.
C4.2Continuitynot_testedNo UCP profile was served, so this was not assessed.
C4.3Continuitynot_testedNo UCP profile was served, so this was not assessed.
C4.4Continuitynot_testedNo UCP profile was served, so this was not assessed.
C4.5Continuitynot_testedNo UCP profile was served, so this was not assessed.

Coverage

Coverage partial: 28 of 30 checks reached a verdict. Stages reached: Discoverable, Agreeable. Within the ceiling: Discoverable, Agreeable.

StatusRecordedCountWhat it means
✓ Passedmet17The evidence Lens captured satisfies the check.
✕ To fixnot_met6The evidence does not satisfy the check. It is a fix in the plan.
◌ Waitingnot_met5Not met because an earlier check on its ladder is not met. It is in the plan, after that fix.
– Not checkednot_tested2Lens did not run this check, and the reason says why. It counts neither as passed nor as failed.
– Not checkedinconclusive0Lens ran this check and got no answer, for a reason on its own side, such as a timeout. It counts neither way.
∅ Doesn't applyn/a0The check's question has nothing to apply to on this site. It counts neither way.
All checks3030 apply to this site
Route statusCountWhat it means
Met13A check passed by this route.
Seen1Lens found this route's surface, and it met no check.
Absent53Lens did not find this route's surface. That includes a route it was refused or did not request, so it is not proof the route is missing.
Not checked8Lens does not read this route yet. It counts neither for nor against the site.

Legal Context Protocol

Read from the same probe, and never scored: no stage depends on it.

ItemWhat Lens read
Conformance level2 · terms pinned by their digest
Read by@integraledger/lcp@0.2.0
Discovery document (LCP §2)https://integralens.store/.well-known/legal-context.json · met
Terms, served standalone (LCP §2.3)https://integralens.store/terms.md · met · The terms are a standalone document: https://integralens.store/terms.md answers 200 with 2672 bytes of text/markdown.
Terms pinned by their digestmet · The legal context pins its terms by atrHash, and both fetches of the terms hash to it.
Published terms digest0xb49f89445cbe68ed7b1dce2b10cef8bc5c749c8683b4816bf1ceb1aac93d6adf
Members declaredatrHash, contact, terms, termsFormat
Dispute clause identifierNone declared
Placements of the agreement record's hashNo payment request carried one.
Settlement readNo settled payment was named or made.

Identities

Who Lens said it was. Every request names the identity that made it.

IdentityKindSendsStatus
anonAnonymous HTTPIntegraLens/0.1.0 (+https://lens.integraledger.com/probe)Cited by 28 checks
ucpUCP platformIntegraLens/0.1.0 (+https://lens.integraledger.com/probe) · UCP profile https://lens.integraledger.com/.well-known/ucpNo check cites it
signedSigned agentIntegraLens/0.1.0 (+https://lens.integraledger.com/probe)Configured (web-bot-auth) · No check cites it
lensLens infrastructureLens's own requests to third-party services, such as a register or a ledgerCited by 2 checks

Observations and notes

Recorded beside the checks, and scored by nothing.

ObservationDetailEvidence
Treats an agent that proves who it is no better than one that does notThe site answered Lens signing as a verified agent the same as an AI agent that says what it is at every address compared. Proving who the agent is changed nothing.4
The buyer's authorization of the payment is not signedThe site offers no agent payment path (R2.4), so there is no signed authorization.2
Publishes no keys bound to its domainThe site publishes no key bound to its domain: no keys[] with a kid in a UCP profile, no did:web document or DID configuration naming keys, no JWKS (at /.well-known/jwks.json or through an OpenID Provider's jwks_uri), no signed A2A agent card, no did:webvh log and no Web Bot Auth key directory.6
No privacy-policy link was found on the home pageThe home page, as served without running its scripts, links to no privacy policy by its language's phrases or a privacy path.1
access.verified-agent         0x4ce78a9dda96a5dd35cadf0cd1de8750310eec4b5cf5fd4623162530ddb5a5fa
access.verified-agent         0x952e2a4a6efdbc289d183b81c60c90b8cc5bcbce7c72e74eb5ef24cee02073f3
access.verified-agent         0x0a19e65ad87363c9472030b6091717a065dd9d9a9902b378fb99363b12f4ca7a
access.verified-agent         0xe00a7b641d6761632f96ffda85dc07f396cec7bd50013205b784c503f6aa38a0
payment.signed-authorisation  0xad2e571ba90b6ea6e429f0eaaf55025837a7ec560b09f1029538c57382dbef98
payment.signed-authorisation  0x6a6376d9d0053b02d621821173d75d7cd38171ec18f54951a21908f6e901851a
seller.keys                   0x67b4d704ee43d15f21ee280323de755b4c2cee497aa4f9ff8057187bdb26a322
seller.keys                   0x8693c0c87045b9cac431aa6c93669b163b564212beb3960c70d4ac9884874e03
seller.keys                   0x4008e0b13eeae682b15b5118e6e64d2c43187e96707e0606e23dbb0e0140422b
seller.keys                   0xcb856859aae245df8fdf26ee5e2d14d75b53d2a554bc879d1efdb32da67dac5f
seller.keys                   0x7347c25eaad1bee5cac13d89c40ff8678164edb7e92d138868f78965f2fe0a0a
seller.keys                   0xa65fa9a4a1338dd4d8ab416ddf324c4519d2058721fd8d3fd691397a2257d0df
terms.privacy-policy          0x6a6376d9d0053b02d621821173d75d7cd38171ec18f54951a21908f6e901851a

Notes from the probe

StepKindNote
schemamapskiprobots.txt names no schema map on the site's domain
ucp.handshakeskipno UCP business profile
paymentskipthe site declares no payable resource in its agent documents, and no facilitator's listing names one
atrskipno payment challenge advertised an ATR link
productskipproduct records: the product page links no product record (rel=dpp, or schema.org hasDigitalProductPassport)
registersskipregisters: Companies House is not queried, because no COMPANIES_HOUSE_KEY is set
registersskipregisters: ABN Lookup is not queried, because no ABN_GUID is set
settleskipno consent from the seller to a nominal transaction (decision 13)

Standards cited

StandardWhere to read it
UCP, the Universal Commerce Protocolhttps://ucp.dev
ACP, the Agentic Commerce Protocolhttps://github.com/agentic-commerce-protocol/agentic-commerce-protocol
AP2, the Agent Payments Protocolhttps://github.com/google-agentic-commerce/AP2
x402https://x402.org
MPP, the Machine Payments Protocolhttps://paymentauth.org
MCP, the Model Context Protocolhttps://modelcontextprotocol.io
LCP, the Legal Context Protocolhttps://integraledger.com
ATR, the agreement transaction recordhttps://www.npmjs.com/package/@integraledger/lcp
Web Bot Auth (RFC 9421 signatures)https://datatracker.ietf.org/doc/draft-ietf-webbotauth-httpsig-protocol/
robots.txt (RFC 9309)https://www.rfc-editor.org/rfc/rfc9309.html
schema.org Producthttps://schema.org/Product
GTIN and GS1 Digital Linkhttps://www.gs1.org/standards/gs1-digital-link
LEI (ISO 17442)https://www.gleif.org/en/about-lei/introducing-the-legal-entity-identifier-lei
VIES (EU VAT validation)https://ec.europa.eu/taxation_customs/vies/
BIMI and Verified Mark Certificateshttps://bimigroup.org
did:web and DID Configurationhttps://w3c-ccg.github.io/did-method-web/
SCITT and transparency logshttps://www.rfc-editor.org/rfc/rfc9943.html
Digital Product Passporthttps://uncefact.github.io/spec-untp/

Verification

What produced this report, and where the same bytes are served.

Report fingerprint  0x61fbf7c583dbb8ef0d49d3b709ed07c725c84b12c7d4eac0f1b4cfd50c7cac40
Capture SHA-256     0xd3ee4207d74f1ef0c2d0d5f78c32303397e01581a279ec3361d337161aaffc80
Analysis SHA-256    0x7608a7fb384102e4d5990de33664dc429975c3ebeb73e073fee628980ed08b2b
Rubric              0.3.0
Rubric SHA-256      0x5710a7d11733b7ca2ba68bc67ecd7b859eb79847e314ef8eedb4301d5f51ce51
Engine              lens@0.1.0+dev
Probe window        2026-10-03T23:41:25.836Z to 2026-10-03T23:41:28.447Z

The fingerprint is the SHA-256 of the report's JSON, byte for byte. Hash the download, never a view of it.

curl -s https://lens.integraledger.com/reports/0x61fbf7c583dbb8ef0d49d3b709ed07c725c84b12c7d4eac0f1b4cfd50c7cac40.json | shasum -a 256