Receipt
Each action produces a record carrying the authorising policy and the constraints that permitted it. Ed25519 signature over a SHA-256 hash, with a per-agent sequence number and the previous receipt's hash, so entries cannot be reordered.
Every platform can route agent calls and cap the spend. That's now a commodity. What nobody produces is the record of why an action was allowed — and that record is what a compliance team, an auditor, and eventually an insurer relies on, because it doesn't come from the platform being questioned.
One URL change. The gateway is the delivery mechanism. The receipt is the product.
Access is currently limited.
The denial, the policy that applied, and the reason are all signed. What was stopped is as attested as what was permitted.
Each action produces a record carrying the authorising policy and the constraints that permitted it. Ed25519 signature over a SHA-256 hash, with a per-agent sequence number and the previous receipt's hash, so entries cannot be reordered.
Per-agent spend caps, rate limits, and service access policies. Set once on a service, enforced on every call. Changes propagate to all assigned agents instantly.
Three gateways. LLM: point your SDK at proxy.lvyer.com — one env var. MCP: add mcp.lvyer.com as a single MCP server to get all assigned tools. HTTP: route any REST API through http.lvyer.com/{slug} — one slug per registered upstream, same agent key for all.
Existing governance tools capture what happened. LVYER captures why it was authorised to happen — and the value of that record rests on where it comes from. A platform attesting to its own conduct is self-reporting, and the more of the stack it owns, the less its attestation is worth.
Our thesis is that this separation is what makes the record defensible. It is a positioning argument, and it is what our discovery conversations are testing.
Who acted, under which policy, and whether it was permitted — all inside the signature.
Each receipt carries a sequence number and the hash of the one before it. Entries cannot be reordered.
Outcome type, magnitude, duration, and any denial reason are inside the signature. The complete picture of what happened is attested, not just whether it was permitted.
No SDK changes. No architecture rewrites. Every registered agent's calls pass the gateway and produce a receipt.
Name it in the dashboard and get a lvyer_ak_ key back. Shown once, never stored. Assign tools with per-agent spend caps and rate limits.
Set one environment variable. Works with the Anthropic SDK, the OpenAI SDK, or any MCP-compatible client. The request format never changes.
Every call is authenticated, policy-checked and receipted. Filter by agent, source and outcome in the audit view.
import anthropic # One URL change — LVYER records the rest client = anthropic.Anthropic( base_url="https://proxy.lvyer.com/anthropic", api_key="lvyer_ak_••••••••••••", ) # ↑ authenticated · policy checked · receipt signed and chained
The record compounds from the day you turn it on.
Using the dashboard. Registering agents, creating LLM, MCP and HTTP tools, setting per-assignment limits, and reading the audit view.
Three gateways sit in front of your agents' calls — LLM, MCP and HTTP. Each call is authenticated against a named agent, policy-checked, and receipted before the response returns.
Vault a credential, create LLM/MCP/HTTP tools, register an agent, assign tools with limits.
Agents, credentials and tools — and how limits attach at assignment time.
Reading the audit view: filter by agent, source (llm_proxy, mcp_gateway, http_gateway) and outcome.
The lvyer_ak_… scheme. Disabling or deleting an agent immediately invalidates its key and stops all gateway calls.
Bearer, apikey, or any custom header scheme the upstream requires.
Spend caps and rate limits, per agent per service.
Query and filter by agent, source or outcome. Verify a receipt signature and walk the chain to show nothing was reordered.
Treating every tool generically captures nothing about severity. Building a schema per tool is a maintenance treadmill against every vendor's release cycle. Typing by action avoids both, and it produces the categories an auditor actually asks about.
A tool that changes its schema downgrades to a generic receipt rather than breaking the call.
Every field, what it means, and where it comes from in the call path.
Identity, sequence, previous hash, action, authorisation result, policy snapshot, outcome type, magnitude, duration, and denial reason are all signed. The full picture of what happened is attested.
Verifying a signature, and walking the chain to show nothing was reordered.
Pay for what you govern. No seat limits, no agent caps — every plan includes unlimited agents and teams. Scale your governance without scaling your bill.
Get started with no commitment.
For teams running agents in production.
For organisations with high call volumes.
Calls are never blocked on Pro and Enterprise. Once you exceed your monthly allowance, additional calls are billed at the overage rate. You'll receive an email warning at 80% of your limit so there are no surprises.
Both allowed and denied calls are governed decisions. A blocked call produces a receipt too, and the record of what your agents were stopped from doing is the half an auditor asks for first.
No seat limits, ever. Governance should scale with your agents, not create a perverse incentive to run fewer of them.
The value of a receipt depends entirely on what it covers, how it is signed, and whether it can be independently verified. LVYER makes every boundary explicit.
Ed25519 over a SHA-256 canonical hash. All material fields — identity, sequence, action, authorisation result, policy, outcome type, magnitude, duration and denial reason — are fixed at call time. Changing any of them invalidates the signature.
Making the scope explicit is intentional. A receipt that is precise about what it covers is more useful to an auditor than one that claims everything without detail.
Treating every tool generically captures nothing about severity. Typing by action produces the categories an auditor actually asks about, and a tool that changes its schema downgrades to a generic receipt rather than breaking the call.
Provider API keys and upstream tokens are encrypted at rest with AES-256-GCM under a key hierarchy that requires the server-side pepper to derive. Gateway workers read a short-lived decrypted bundle from KV — they never derive keys or access the encryption layer.
A password-derived KEK protects credentials during account operations. A separate server-side KEK — derived from a secret that never leaves lvyer-api — is used to build the gateway bundle. A database breach alone cannot decrypt credentials.
Agents hold lvyer_ak_ keys — never real API keys. The real key is substituted at the gateway. Revoking an agent key immediately invalidates its bundle. Agents cannot escalate to other agents' credentials.
Database triggers block UPDATE and DELETE on the receipts table. The chain cannot be edited — only appended. Each receipt's signature can be independently verified using the published Ed25519 public key.
For early access, partnership enquiries, or anything else.
Thanks — we'll be in touch shortly.