The Problem: Wallet Addresses Are Not Identity
When an agent makes an MPP payment today, thesource field is a wallet address. That is it. No human name, no organization, no authorization chain. The merchant knows someone paid, but not:
- Who sent this agent? Is there a human behind it, or is it a rogue bot?
- Was it authorized? Does the agent have permission to spend this amount on this category?
- By whom? Which organization is liable if something goes wrong?
- For what scope? Is an inference agent accidentally buying storage?
The Proprietary Trap
Visa and Mastercard see this gap. Visa’s Trusted Agent Protocol and Mastercard’s AgentPay are both building agent identity networks. But these are:- Closed — tied to their card networks
- Non-interoperable — a Visa-verified agent cannot present credentials to a Mastercard merchant
- Permission-gated — you need network approval to participate
The Solution: AgentPassportCredential
We builtAgentPassportCredential — a W3C Verifiable Credential (VC 2.0) that binds agent identity, human delegation, spending limits, and payment categories into a single offline-verifiable document.
Here is the flow:
The credential carries inputs for a merchant trust decision. Merchants must combine them with independent payment, order, fraud, and settlement controls:
What Makes This Different
1. Offline Cryptographic Verification
The passport is a self-contained JWT signed with the issuer’s key. With cached JWKS and status material, merchants can perform signature and claim checks locally without a per-request Grantex verification call. Latency and current revocation freshness depend on deployment and synchronization choices.2. Category-Scoped Permissions
MPP defines service categories: inference, compute, data, storage, search, media, delivery, browser, general. Each maps to a Grantex scope (payments:mpp:inference, etc.). If an inference agent tries to buy storage, the passport verification fails with CATEGORY_MISMATCH before any money moves.
This is not a convention. It is enforced cryptographically. The categories are signed into the credential at issuance time.
3. Delegation-Aware
Agents delegate to sub-agents. A “procurement agent” might delegate to a “compute buyer” sub-agent with a narrower budget. The passport carriesdelegationDepth and the full chain is traceable through grantId. The four delegation invariants from the DAAP spec apply:
- Sub-agent categories must be a subset of the parent’s
- Spending limits can only narrow, never widen
- Expiry is bounded by the parent’s expiry
- Revoking a parent cascades to all descendants
4. Instant Revocation
Passports use StatusList2021 — a compressed bitstring where each credential has an index. Revoking a passport flips one bit. Merchants checking revocation status can fetch the status list and verify locally. No webhook needed, no polling, no race conditions.5. Public Trust Registry
Before fulfilling a high-value request, merchants can check the organization’s trust level:basic (self-declared), verified (DNS TXT proof), soc2 (audited). The endpoint is public — no auth required.
The Agent-Side Integration
Issuing a passport is three lines:onRefresh() in the background.
What Happens When Things Go Wrong
Every failure mode has a typed error code:
No ambiguous error messages. No silent failures. The merchant knows exactly why a passport was rejected, and the agent can surface that to the user.
Standards Alignment
This is not a proprietary format. The entire stack is built on open standards:- W3C Verifiable Credentials Data Model v2.0 — the credential format
- Ed25519Signature2020 — the proof type
- StatusList2021 — revocation mechanism
- did:web — issuer identity resolution
- IETF draft-mishra-oauth-agent-grants-01 — the underlying authorization protocol
did:web:grantex.dev. No SDK required. No Grantex account required. Just fetch the public key and verify the JWT.
Try It Now
The entire implementation is open source and live in production. Install:packages/mpp/
MPP addresses payment transport. Grantex can add verifiable agent and principal authority context without replacing merchant, payment, order, settlement, fraud, or compliance controls.