For agent builders and booking platforms
Before your agent books, check the business.
One call returns a dated, sourced receipt on the exact business: real, at that address, licensed, and what the City's record says, with the date we looked and when it expires. MCP or REST.
$1 a read, with 10 free reads a month per credentialed identity. Every receipt page on this site is free.
{
"business": {
"name": "Triano's Pizza",
"id": "license:10399",
"market": "chicago-restaurants"
},
"receipt": {
"fielded_on": "2026-10-06",
"fields": {
"real": { "state": "verified", … },
"at_that_address": { "state": "verified", … },
"licensed": {
"state": "verified",
"verified_on": "2026-09-25",
"expires_on": "2026-12-24",
"instrument": "chicago-bacp-r5kz-chrr"
},
"inspection": { "state": "not_published" }
}
}
}
From the published edition. Try any Chicago restaurant.
Listings and downloads checked Oct 7, 2026. npm counts include automated installs. They are downloads, not users.
The gap
The protocols check who is asking and how they pay. None checks the business.
Know-your-agent tools prove who is asking. A Lodestar Stamp receipt shows what the record says about the business.
| Specification | The agent | The person | The payment | The business |
|---|---|---|---|---|
| Google AP2The merchant signs its own offer. | Yes | Yes | Yes | No |
| Google A2AA signed agent card shows it came from the claimed provider. | Yes | Optional | Not covered | No |
| Agentic Commerce ProtocolThe merchant is the system of record. Discovery needs no credential. | Partly | Partly | Yes | No |
| Universal Commerce ProtocolOnboarding is permissionless: no prior registration. | Yes | Partly | Yes | No |
| x402Verifies the payment. Optional extensions identify the paying agent and wallet. | Partly | Partly | Yes | No |
| Visa Trusted Agent ProtocolThe merchant verifies the agent, not the other way round. | Yes | Yes | Yes | No |
| Model Context ProtocolAuthorization is optional. A server's self-identification is not verified. | Partly | Partly | Not covered | No |
Why now
Agents book, call and order for people. Platforms decide which agents get in.
The booking flows that have shipped run through named partners, agents now call businesses directly, and access is already contested. Each line below is dated and links its source.
Our view: the agents that get let in will be the ones that can show what they checked, and when.
Bookings run through named partners
· Google
Google's AI Mode started booking restaurant tables in the U.S., with no sign-up for a test program, through partners including OpenTable, Resy and Tock.
Google Maps started ordering food for people in the U.S., with partners like Square and Toast. The person reviews the cart and checks out.
ChatGPT started booking tables and joining waitlists through OpenTable, Resy and Yelp.
Access is contested
Amazon blocked Meta's Muse agent from Amazon.com. Amazon says the agent does not identify itself while browsing.
· CNN
A diner's AI assistant pinged Resy “hundreds of times every hour of the day.” He was locked out, and has since had his account reinstated.
Agents call businesses
Muse and Instinct, two personal agents, began placing phone calls to businesses for their users, in beta and early access.
The new protocol describes the agent
· Sierra
Sierra and Meta announced the Personal Agent Protocol, an open standard “that defines how personal agents interact with businesses.” It lets a company know when an agent acts for a customer and decide what it may do. The announcement does not describe a check on the business.
Try it · free, no key
Type a Chicago restaurant. See its receipt.
This reads the published edition the site already serves, so it is not a metered read and needs no key. Your agent gets the same fields through the API, dated at request time.
The list of 11,208 restaurants loads when you start typing.
Or open any receipt from the Chicago restaurants board.
Published edition snapshot. Your agent reads the request-time receipt through the API.
{
"cycle": 7,
"fielded_on": "2026-10-06",
"protocol": "lodestar-ground-truth-v1-protocol.md",
"gated": {
"verifier": "PASS",
"gated_on": "2026-10-07T14:27:29Z"
},
"fields": {
"real": {
"state": "verified",
"value": "TRIANO'S PIZZA INC — Retail Food Establishment, license number 10399, term license_id 3058293, status AAI, issued 2025-12-19, expires 2028-01-15, City of Chicago business register",
"instrument": "chicago-bacp-r5kz-chrr",
"source_url": "https://data.cityofchicago.org/resource/r5kz-chrr.json?license_id=3058293",
"verified_on": "2026-09-25",
"expires_on": "2026-12-24",
"confidence": "high",
"checked_at": "2026-09-25T00:00:00Z",
"refresh_cadence": "weekly: City of Chicago licence register, Mondays at 12:00 UTC (register-recheck); monthly re-field on the 5th at 12:00 UTC (refield-candidates)",
"next_check_by": "2026-10-12T12:00:00Z"
},
"at_that_address": {
"state": "verified",
"value": "6758 W ARCHER AVE 1ST, Chicago, IL 60638 — registered address on the current licence term (term license_id 3058293), City of Chicago business register",
"instrument": "chicago-bacp-r5kz-chrr",
"source_url": "https://data.cityofchicago.org/resource/r5kz-chrr.json?license_id=3058293",
"verified_on": "2026-09-25",
"expires_on": "2026-12-24",
"confidence": "high",
"checked_at": "2026-09-25T00:00:00Z",
"refresh_cadence": "weekly: City of Chicago licence register, Mondays at 12:00 UTC (register-recheck); monthly re-field on the 5th at 12:00 UTC (refield-candidates)",
"next_check_by": "2026-10-12T12:00:00Z"
},
"licensed": {
"state": "verified",
"value": "Retail Food Establishment, license number 10399, term license_id 3058293, status AAI, business activity \"Retail Sales of Perishable Foods\"",
"instrument": "chicago-bacp-r5kz-chrr",
"source_url": "https://data.cityofchicago.org/resource/r5kz-chrr.json?license_id=3058293",
"verified_on": "2026-09-25",
"expires_on": "2026-12-24",
"confidence": "high",
"checked_at": "2026-09-25T00:00:00Z",
"refresh_cadence": "weekly: City of Chicago licence register, Mondays at 12:00 UTC (register-recheck); monthly re-field on the 5th at 12:00 UTC (refield-candidates)",
"next_check_by": "2026-10-12T12:00:00Z"
},
"inspection": {
"state": "not_published",
"value": null,
"instrument": null,
"source_url": null,
"verified_on": null,
"expires_on": null,
"confidence": null,
"checked_at": null,
"refresh_cadence": "monthly: City of Chicago food inspections, 5th at 12:00 UTC (refield-candidates)",
"next_check_by": "2026-11-05T12:00:00Z"
}
},
"operating_status": {
"checked_at": "2026-09-25T00:00:00Z",
"refresh_cadence": "weekly: licence status on the City register, Mondays at 12:00 UTC (register-recheck)",
"carried_on": "licensed",
"next_check_by": "2026-10-12T12:00:00Z"
}
}
Quickstart
Connect in a minute.
Remote MCP for assistants, REST for your own code, and x402 when a read is paid. The receipt is the same whichever way you ask.
MCP
Streamable HTTP at https://api.lodestarindex.com/mcp. Connecting is free; each OAuth identity gets 10 free reads a month. Add it to Claude:
{
"mcpServers": {
"lodestar-stamp": {
"type": "http",
"url": "https://api.lodestarindex.com/mcp"
}
}
}In Cursor, use the same block without "type", or Add to Cursor (stdio: npx -y lodestar-stamp-mcp@0.1.17). Then ask: “Before I book, check the record for Triano’s Pizza on W Archer Ave in Chicago.” The assistant calls find_business, then get_receipt, and says what the record says.
Tools (7, all read-only): find_business, get_receipt, batch_receipts, list_sources, list_gaps, list_markets, list_index. find_business, list_markets and list_index are not metered. Full setup
REST
Look a business up by license, domain, phone or address. A shortlist of up to 20 domains is one call to /v1/trust/batch, answered in the order asked.
# 1. The discovery card names the API host
API=$(curl -s https://lodestarstamp.com/.well-known/mcp.json | jq -r .api_base)
# 2. Find the business by name and street (free, never a receipt)
curl -s "$API/v1/find?q=triano%20archer&market=chicago-restaurants" \
-H "X-Lodestar-Consumer: my-agent"
# 3. Read its receipt (a metered read; your key carries the free reads)
curl -s "$API/v1/trust?license=10399&market=chicago-restaurants" \
-H "X-Lodestar-Consumer: my-agent" \
-H "X-Lodestar-Key: $LODESTAR_KEY"X-Lodestar-Consumer names your integration and never changes the receipt. The card also lists the OpenAPI document. Discovery card · Reference
x402
With no credential, or past your free reads, a read answers HTTP 402 with an x402 v2 payment request: $1.00 in USDC on Base. Sign one of the requirements and send the same request again with a PAYMENT-SIGNATURE header. Only a read that answers 2xx is billable.
HTTP/2 402
PAYMENT-REQUIRED: <base64 of the x402 object below>
{
"error": "payment_required",
"units": 1,
"price": {
"per_read_usd": "1.00",
"total_usd": "1.00"
},
"free_reads": {
"per_month": 10,
"identities": [
"oauth",
"key",
"x402_payer"
]
},
"x402": {
"x402Version": 2,
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "1000000",
"asset": "0x8335…2913",
"payTo": "0x46ee…07da",
"maxTimeoutSeconds": 60
}
]
},
"charter": "Payment never touches the record: paying changes access to this API answer, never what a receipt says."
}The network, asset and recipient above come from the live lane configuration. Agent read terms
How it behaves
Dated, sourced, signed, and plain about gaps.
- Latency, measured
- Single read: p50 284 ms, p95 362 ms over 20 reads. A batch of 20: 869 ms. Measured Sep 23, 2026. A measurement, not a service level.
- Coverage
- Chicago restaurants: 11,208 receipts, license verified on 10,942, a health inspection on 6,247. Chicago HVAC: 58 receipts, license verified on 27.
- Expiry
- Every verified field carries
verified_onandexpires_on. At request time, a field past its expiry stops answering verified and says when it lapsed. - Signatures
- The API signs each receipt with Ed25519. Check it against the public keys at /v1/keys. A valid signature proves who sent the bytes, never whether to book.
- Not on the record
- A business we do not cover answers
404 not_found. Absent is not adverse: the identifier may simply not be on file. - No guessing
- When two businesses share an identifier, the answer is
300with the candidates and no receipt. Ask again by one of them.
Price
$1 a read. 10 free reads a month per credentialed identity.
Every receipt page on this site is free. Programmatic reads over the API and MCP are metered, and the terms are published.
On the site
Free
Every receipt page, finding a business, the change feed, and connecting over MCP.
Agent reads
$1 a read
Over x402. Each credentialed identity (an OAuth login, an API key or an x402 payer) gets 10 free reads a month. Only a read that answers 2xx is billable, and a batch is one read per business it finds.
Volume
By contract
Volume, service levels and support, agreed per contract after coverage and integration review.
Watching owners and their agents read their own locations free. A key never changes an answer. Agent read terms · Request a trial key · Pricing as JSON
For agent builders
A source check before
software takes action.
We verify source facts. We never approve the booking. Payment never touches the record.
Connect MCPGet a keyPilot with us
Talk about volume · Read the reference · See the agent walkthrough · llms.txt