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.
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.
The shop as its owner runs it: guided setup, inventory (events, tiers, stock, prices), the PSP rails money settles to, website & bot integration, and the agent-demand reporting — who queued, what converted, and what is still waiting.
Build agents as real mandate records (in-process or bring-your-own over authenticated MCP), group them into a bucket, and turn one loose — or 50,000 at once. Watch which layer stops each, and oversell stay at 0 while they fight for the last seats.
The shop's own front door — sign in with a magic link, bring or create an agent, add a card in the payment provider's iframe, and grant a mandate locked to that shop (optionally one event). This links the seeded demo shop; every shop gets its own.
The integration guides and API reference: quickstart, buyer sessions, embedded authorization, the conversational shopfront, inventory & fulfilment, and signed payment.settled webhooks — plus the live OpenAPI spec.
What actually happened, from the append-only log: every settled payment with its full audit trail, every refusal attributed to the layer that caught it, and a live Flow view of agents moving through the three checks with counts.
ANTHROPIC_API_KEY is needed. Live event stream at /v1/events/stream.