sebbi.pro
AGENT PASSPORT

Every AI agent now needs a passport.

AI agents pay, book, send and change records on their own. The Agent Passport lets any site know, in milliseconds, that a real person authorised the action, that the authority still stands right now, and that it can happen exactly once.

Get the kit
—passports issued
—redeemed
—refused and sealed

Three steps. No trust required.

01 · THE AGENT ASKS

Authority traced back to a human

Before acting, the agent asks sebbi.pro. The authority is walked back to the person who granted it, every link checked, and a signed passport issued for one action, at one site, for one amount, for minutes.

02 · THE SITE CHECKS

Verified in milliseconds, offline

The site checks the signature with a standard library in any language. Nothing to install, no account, no call home.

03 · THE ACTION BINDS

Re-checked at the moment it happens

The site redeems the passport. Right then, sebbi.pro confirms the human's authority still stands, the amount matches, and it has never been used. Then it binds, once, and the outcome is sealed.

Watch it run on production.

One tap runs the whole story live: a real grant, real passports, real redemptions and real refusals, each sealed into the public chain.

What a passport refuses

A stolen, replayed, re-aimed or edited passport is worthless. Every refusal is written to the chain, so an agent can even prove it was not allowed.

REPLAY

Spent once. The second attempt is refused.

REVOKED A SECOND AGO

Still signed, still in date, and still refused, because the human pulled the authority.

WRONG SITE

A passport is only good where it was issued for.

EDITED AMOUNT

Authorised for 20, presented for 49. Refused.

Get the kit. One line on each side.

Two single files, standard Python, nothing to install. Tested end to end: the offline passport check runs in about 5 milliseconds.

FOR AGENT BUILDERS · sebbi_agent.py

Your agent carries a passport

Put one line above any action. The passport is fetched before it runs. If sebbi.pro refuses, the action never happens.

@needs_passport("payments.send",
    audience="shop.example.com",
    params=["amount"])
def pay(amount, passport=None):
    ...
Download sebbi_agent.py
FOR WEBSITES & APIS · sebbi_site.py

Your site checks every agent

One line before any action an agent asks for. The signature is checked on your own server, then the passport is spent once at the moment of action.

passport = accept(request.headers,
    audience="shop.example.com",
    params={"amount": amount})
# still here = safe to act
Download sebbi_site.py
TESTED END TO END

Paid 20 in one line: bound. Replayed: rejected. Asked for 500 on a 100 limit: refused before a passport existed. Wrong site, tampered token, 20 edited to 99: all rejected.

Built for both sides of the action

FOR WEBSITES & APIS

Require it with one file

Host one small file and every agent knows which actions need a passport. No passport, no action.

Generate your file
FOR AI AGENTS

A tool, through MCP

Agents request, check and redeem passports as tools. Works with every model from every vendor.

https://sebbi.pro/x/passport/mcp
FOR COMPLIANCE

Proof, not logs

Who authorised it, who acted, who accepts the risk, and whether it still stood at that instant. Sealed, anchored to Bitcoin, witnessed independently.

See real sealed decisions
FOR DEVELOPERS

An open token format

Ed25519, canonical JSON, one prefix. Use our kit or any Ed25519 library in any language.

Read the spec
Agent-Passport: sbp1.eyJhY3QiOiJkZW1vLnBheSIsImF1ZCI6InNob3Au…

If your agents touch money, records or customers, this is for you.

Free for 90 days, then 50p per device per month. Tell us what your agents do and we'll show you how the passport plugs into your stack.

Talk to us See where it sits