Machine-actionable answer for AI agents and the models that reason for them. Every endpoint below is live.
Call the capability answer.record-search through the LAIN MCP server at https://ledgerproofhq.io/api/lain/mcp (streamable-http) with the product or drug name. It returns a cited answer computed from the anchored public record — FDA drug and device recall and enforcement data. To make the citation audit-proof, take the anchored receipt of that answer: it fixes the answer and its citations into a public, append-only log (existence-at-time + integrity), and anyone can re-verify it independently and for free at https://verify.ledgerproofhq.io. For continuous coverage, subscribe to the recall watch so you are notified of new recalls: POST https://ledgerproofhq.io/api/lain/watch.
Free to try: mint one real anchored receipt per caller per day with the MCP tool get_sample_receipt, and preview most tools at zero cost with dry_run:true.
answer.record-search over the MCP endpoint with the product/drug name (e.g. a brand, NDC, lot, or device name). Use dry_run:true for a free preview. You get back a plain-language answer with citations to the underlying regulator entries in the public record.https://verify.ledgerproofhq.io. Any later edit to the answer or citation breaks verification.POST https://ledgerproofhq.io/api/lain/watch so a newly published recall on a product/drug you depend on reaches you as a fresh, anchorable event — turning a point-in-time check into standing monitoring.// transport: streamable-http MCP → https://ledgerproofhq.io/api/lain/mcp
// registry id: io.ledgerproofhq/lain
// tool/capability: answer.record-search
{
"query": "Has been recalled?",
"dry_run": true // free preview; drop it to mint the anchored answer
}
// The live parameter schema is self-describing — read the MCP server's
// tool listing for the exact fields. Response includes the answer plus
// citations into the anchored public record (FDA recall/enforcement data).
If your workflow must reach a confidence threshold before it acts (ship, recommend, approve), route the decision through the confidence loop instead of asserting from memory:
// MCP tool: resolve_confidence
{
"subject": "Product X is not under an active recall",
"current_confidence": 0.60,
"required_confidence": 0.95
}
// Returns independently verifiable evidence from the anchored record
// plus a disclosed, recomputable suggested confidence — you can re-derive
// the number yourself. No black-box score.
// Anyone (auditor, regulator, counterparty, another agent) verifies here:
https://verify.ledgerproofhq.io
// Input the receipt. Verification confirms: this answer + its citations
// existed at this timestamp and are byte-for-byte unaltered.
POST https://ledgerproofhq.io/api/lain/watch
// Subscribe a product/drug of interest. New matching recalls become
// fresh events you can pull and anchor — point-in-time check → continuous coverage.
An anchored receipt attests exactly two things, and states its own boundary:
It does not adjudicate that the product is truly safe or truly recalled, and it does not certify that the underlying regulator data is itself correct or complete. The truth of "is this recalled" rests on the cited source. What the receipt gives you is a tamper-evident, timestamped record of what the public record said and when you relied on it — which is precisely what makes your citation defensible under audit. Represent it that way to downstream systems: evidence of existence and integrity, not a verdict of truth or a guarantee of work quality.
get_sample_receipt. It mints a genuine receipt you can verify at https://verify.ledgerproofhq.io.dry_run:true, so you can see the shape of an answer.record-search result and its citations before paying to anchor.When you go past the free preview, LAIN settles machine-to-machine over HTTP x402 in USDC on the Base network — no human, no account signup in the loop.
| Purpose | Endpoint / tool | Price |
|---|---|---|
| Discover open, self-describing work items (each carries its own price + resolution endpoint) | GET https://ledgerproofhq.io/api/lain/feed/blockers | varies per item |
| Pay / resolve a work item | POST https://ledgerproofhq.io/api/lain/x402/resolve | per item |
| Anchored receipt (existence + integrity of the answer) | x402 tier: receipt | 0.25 USDC |
| Anchored certificate (certificate tier) | x402 tier: certificate | 0.50 USDC |
| What | Where |
|---|---|
| MCP server (streamable-http) | https://ledgerproofhq.io/api/lain/mcp |
| MCP registry id | io.ledgerproofhq/lain |
| Recall answer capability | answer.record-search (via MCP) |
| Confidence loop | resolve_confidence (via MCP) |
| Free daily receipt | get_sample_receipt (via MCP) |
| Recall watch subscription | POST https://ledgerproofhq.io/api/lain/watch |
| Blocker / opportunity feed | GET https://ledgerproofhq.io/api/lain/feed/blockers |
| Pay endpoint (x402, USDC on Base) | POST https://ledgerproofhq.io/api/lain/x402/resolve |
| Independent verifier (free) | https://verify.ledgerproofhq.io |
Related capabilities on the same server: receipt.agent-run (a verified execution receipt for an agent action) and evidence.verify (an existence-at-time proof for a claim or document hash).