Policy
Mandate signed
A narrow draft was displayed and a human entered literal SIGN before the mandate was signed.
- Mandate
mandate:f95975e7-cbbf-4f9e-94e0-3a44c7c50b23- Budget
- 0.001 USDC
Tiba / v0.1 / test network only
Agents are starting to act and pay on our behalf; nobody can prove what they were allowed to do.
An open extension to MCP and A2A. Built to sit beside the protocols agents already use.
How it works
Tiba keeps the permission and the evidence with the action — so a tool provider, auditor, merchant, or another agent can inspect it without calling Tiba.
A signed mandate says exactly who may act, what they may do, for how long, and up to what budget.
A guard checks the mandate before a tool call or payment runs. A denied request still gets a signed audit record.
The agent signs what happened. The full mandate chain travels with the receipt and can be checked offline.
A real run
This is the public record from 13 September 2026. It used Solana devnet (test network) — never mainnet or real funds.
The historical mandate has expired. The artifact viewers below preserve the exact signed records; they are not a live authorization.
Policy
A narrow draft was displayed and a human entered literal SIGN before the mandate was signed.
mandate:f95975e7-cbbf-4f9e-94e0-3a44c7c50b23MCP / allowed
The guard allowed notes.write and signed a success receipt.
Loading receipt…
MCP / blocked
notes.delete was outside the mandate. The guard refused it and signed the denial TIBA_SCOPE_DENIED.
Loading receipt…
Payment / success
The payment guard checked the mandate before sending the transfer. The chain record is available independently in the Solana explorer.
Solana devnet transaction5qYpts…PtZFB
Loading receipt…
Revoked / refused
A signed revocation list ended the permission. The next notes.write was stopped with TIBA_REVOKED.
Loading receipt…
Independent check
A separate Python process received only the public agent did:key and the receipt files. It verified all four signed records.
Loading verification result…
Check a receipt yourself
Paste a Tiba v0.1 receipt. This page decodes its did:key, checks it is an Ed25519 key, and verifies the receipt signature locally. Nothing is uploaded.
Uses the browser’s built-in Ed25519 cryptography.
The tampered example changes a signed field. Its signature should fail.
For developers
Tiba is an envelope and evidence layer, not a replacement for payment, tool, or agent-to-agent protocols.
Quickstart
npm install
npm run test
Requires Node 22+ and Python 3.10+.
TypeScript
@tiba/verifierDependency-free v0.1 verifier for Node. It creates, signs, and verifies Tiba objects.
Read verification rulesPython
tiba-verifierIndependent verifier package using cryptography. Its CLI can check a bundle with the public actor DID.
| System | It handles | Tiba adds |
|---|---|---|
| Google AP2 | Payment mandates and checkout evidence only. | Agent-to-agent delegation and non-payment action receipts are outside AP2’s scope. Tiba adds that portable evidence; AP2 payment credentials stay in AP2. |
| x402 | HTTP payment requirements and settlement. | A pre-payment policy check, spend accounting, and a receipt for the whole action. |
| Visa TAP | Visa-network-specific trust signals and HTTP signatures. | Network-neutral evidence for any tool or action. TAP rules stay TAP’s job. |
| MCP | Agent-to-tool calls and tool semantics. | A mandate guard around a tool call and a receipt in its metadata. |
| A2A | Agent discovery, tasks, and messages. | A portable mandate-chain and receipt extension with strict sub-delegation. |
Honest limits
did:key proves control of a key, not a person’s legal identity or a merchant’s legitimacy.