The shift

Soon an agent will check out for someone else. What stops it buying 200 tickets when it was told 2?

Today, mostly the agent's own good behaviour — and a prompt-injected or buggy one has none. The on-sale rush makes it worse: thousands of agents hitting finite inventory at once, any of them able to overspend, oversell, or pay with an instrument that isn't theirs. Alyte sits between those agents and a merchant's existing checkout and makes the limits structural instead of hoped-for: every purchase clears three server-side checks it cannot talk its way past. It never touches the money — the charge goes to the merchant's own PSP, and settlement stays merchant ↔ their PSP. Alyte is never in the flow of funds.

Start here

Stage the demo in one click

Seeds a show (100 GA seats) and four agents that each get stopped by a different layer — plus a ready-to-run on-sale bucket. Then run it and watch the gauntlet do its job with oversold 0.

Fan → settles Capped €10 → MERCHANT Card declines → PSP Unscoped bot → AUTHED
Resets inventory, agents & buckets for the demo tenant.
the agent proposes · Alyte disposes oversell-proof by construction never holds funds live-events ticketing first works with any agent, incl. BYOA
Each purchase runs a gauntlet — refused by exactly one owner, for a reason that owner controls:
AUTHED · gateway
is it a known agent, in scope?
MERCHANT · reserve
within mandate, seat actually free?
PSP · confirm
does the card authorize?
Suggested path: Merchant (set the inventory) → Buyer (authorize an agent) → Agents (run the rush) → Operator (see who got refused, and why). The agents run as deterministic mocks over the real orchestrator path — same code that would face a live agent — so no ANTHROPIC_API_KEY is needed. Live event stream at /v1/events/stream.