v0.1 · open preview

Live signatures for every agent action.

The signing layer for the agent economy.

One line of code.
Any agent framework, any payment rail.

install
pnpm add @atrib/mcp
server.ts
import { atrib } from "@atrib/mcp"

server.use(atrib())

Why atrib exists

Every time an agent calls a tool, something happens that someone (a buyer, a seller, an auditor) needs to record, bill for, or prove. Today, no protocol does that. atrib is the missing layer.

Most MCP servers ship without good visibility into who calls them or how. server.use(atrib()) adds one line of middleware that produces a signed receipt for every response: caller, request, payload, signature. Each receipt links to the call that triggered it, forming a chain of agent activity rather than a flat log of hits. You can see how your tool fits into the larger flow and prove what you returned to anyone who asks. Charging per call later is just routing those receipts into any payment rail; you never write a billing layer.

The layer

One layer, three primitives, an open loop.

atrib sits between the agents that act and the systems that read those actions.

Everything on the top plugs in through one package.

Everything on the bottom chains into the next pass.

Inputs
@atrib/agent + @atrib/mcp. Install either, the other, or both.
Agent
@atrib/agent
makes tool calls, reads the chain
Tool / Creator
@atrib/mcp
fulfills calls, signs responses
atribthe layer
01

Signature

Every action, provably authored. Ed25519 over canonical JSON.

02

Chain

Every action, linked to what caused it. A causal graph, by construction.

03

Receipt

Every chain, readable by anyone. Settled against a policy, with sensible defaults and one-env-var overrides.

The cycle
01
Payments

Receipts drive settlement. Payments trigger from the chain.

02
Compliance

Tamper-proof audit trail. Article 12-ready, day one.

03
Observability

OTel-native. The trace layer you already run.

loops back

Receipts flow out, settle, audit, and return as the next trace. The loop closes by itself. You didn't write a single line to make that happen.

The surface

One package. Every framework. Every rail.

6 agent frameworks · 6 payment protocols · 36 supported combinations on day one.

ACP
UCP
x402
MPP
AP2
a2a-x402
MCP
Claude Agent SDK
Cloudflare Agents
Vercel AI SDK
LangChain
Mastra

New frameworks and protocols ship as additive detectors. The grid grows without a breaking change.

Builds on

ed25519
sha-256
rfc 6962
jcs
c2sp
opentelemetry

Each of these is open and standard. atrib is the protocol that wires them into receipts anyone can verify.

Why you can build on it

Receipts you don't have to trust us for.

  • 01
    Independently verifiable

    Any party can verify any record without trusting atrib.

  • 02
    Zero custom crypto

    Ed25519, JCS, SHA-256, RFC 6962 Merkle trees. No invented primitives.

  • 03
    Works with what you use

    Plugs into existing OTel traces. Integrates every framework, every rail.

  • 04
    Open source, self-hostable

    Apache 2.0. Run your own log. The protocol doesn't require us.

Start in a minute

Install the package, drop one line into your server, get a log key.

install
pnpm add @atrib/mcp