The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Agent Trust listing page.
[!IMPORTANT] Archived on 24 September 2026. GARL is no longer maintained, and the hosted service (garl.ai, api.garl.ai) no longer accepts agents, traces or receipts. The code remains available under Apache-2.0. The 12 receipts anchored on Base mainnet remain verifiable at garl.ai/anchors. Contact: contact@garl.ai. Revival notes: docs/runbooks/sunset.md.
Prove what your AI agent was authorized to do — and what it actually did.
Capability tokens set hard limits on an agent — spend caps, merchant allowlists, side-effect class, expiry — and a delegated token can only narrow its parent, never widen it.
Every action becomes an ECDSA-secp256k1-signed Action Receipt bound to the token that authorized it, Merkle-anchored on Base mainnet, and verifiable offline without trusting GARL.
Add your agent · Anchor chain · Website · Docs · Live receipt · Try It
Add to your Claude Desktop config (claude_desktop_config.json) or Cursor MCP settings:
That's it — 29 named tools (including batch variants like garl_verify_batch) are now available in your AI assistant: receipts, Trust Vector lookups, capability tokens (issue/verify/revoke), Capability Gate pre-flight, UETA §10(b) undo, and more.
A delegated child token can only narrow its parent (lower spend limit,
subset allowlist, equal-or-narrower scope, same-or-earlier expiry) — enforced
at issue time and re-checked link-by-link at verification. Full wire format:
protocol/spec/capability-token-v0.1.md.
Sign every AI-authored commit in your pull requests.
Every PR gets a rolling GARL Receipt comment + informational check:
Setup guide: Garl-Protocol/garl-receipt-action ·
Live landing page: garl.ai/for-code.
Every submitted trace gets a public shareable Receipt URL at
https://garl.ai/r/{short} — a cryptographic proof card (agent, tier, task,
duration, SHA-256 hash, ECDSA signature) with an Open Graph image that
previews richly in Slack, Twitter/X, GitHub PRs, and LinkedIn.
SDKs expose receipt_url / receiptUrl on every log_action / verify
return and a client.receipt(hash) shortcut. The MCP tool garl_receipt
resolves any short or full hash to a paste-ready URL.
Add Garl-Protocol/garl/integrations/github-action-receipt to your PR
workflow. It detects Claude Code, Cursor, GitHub Copilot, Aider, and Codex
co-author trailers, submits a signed trace per qualifying commit, and posts
a rolling PR comment + informational check with receipt URLs:
Full setup in integrations/github-action-receipt.
Only metadata is uploaded — never diffs or source.
| Problem | GARL's Answer |
|---|---|
| "What was this agent allowed to do?" | Capability tokens: spend_limit_usd, merchant_allowlist, side_effect_class, expiry — with Biscuit-style attenuation (delegation can only narrow, re-checked link-by-link at verify) |
| "Did it stay inside those limits?" | Every Action Receipt binds capability_request.token_hash + policy_decision into the signed envelope; the Capability Gate escalates low-trust irreversible actions to a human |
| "Is this agent reliable?" | 5-dimensional trust scoring with Exponential Moving Average |
| "Which agent should I pick?" | Smart routing by category + minimum certification tier |
| "Can I verify its track record?" | Immutable ledger with ECDSA-signed execution traces + shareable Receipt URLs |
| "Does it work with my stack?" | MCP Server · A2A Protocol · REST API · Python & JS SDKs · GitHub Action |
| "Prove this AI commit is real" | GitHub Action posts a signed receipt per AI-authored commit |
| "What about on-chain agents?" | ERC-8004 format compatible (off-chain). Receipt-batch Merkle roots are anchored on Base mainnet (MerkleAnchor at 0xBeD7EdeFbEb02be9682bCdeC5fb5D7DA28b1b6F2). |
Claude Desktop · Cursor · Any MCP Client · Google A2A · ERC-8004 · REST API · Python · JavaScript · LangChain · CrewAI · AutoGen · LlamaIndex · Semantic Kernel · GitHub Actions
Every agent action is hashed, signed, scored across five dimensions, and made queryable — creating a verifiable trust record.
GARL Protocol serves agent metadata in ERC-8004 format (off-chain). Separately, the Merkle roots of batched Action Receipts are anchored on Base mainnet (MerkleAnchor contract 0xBeD7EdeFbEb02be9682bCdeC5fb5D7DA28b1b6F2, chain 8453). Individual receipts are not written on-chain; anyone can verify a receipt's inclusion against an anchored root via verifyProof.
GARL uses the same cryptographic curve as Ethereum (ECDSA-secp256k1), making trust attestations natively verifiable by on-chain systems.
| Topic | Link |
|---|---|
| Capability Token wire format (spec) | protocol/spec/capability-token-v0.1.md |
| Action Receipt wire format (spec) | protocol/spec/action-receipt-v0.1.md |
| Anchoring runbook (weekly Merkle anchor on Base) | docs/runbooks/anchoring.md |
| Full API Reference (60+ REST endpoints + A2A + MCP) | docs/api-reference.md |
| MCP Server (29 named tools, including batch variants) | garl.ai/docs#mcp-server |
| A2A Protocol Integration | garl.ai/docs#a2a |
| ERC-8004 Compatibility | garl.ai/docs#erc-8004 |
| Python & JS SDKs | garl.ai/docs#sdks |
| Architecture & Tech Stack | docs/architecture.md |
| Deployment & Self-hosting | docs/deployment.md |
| Security | docs/security.md |
Interactive API explorer: api.garl.ai/docs (Swagger) · api.garl.ai/redoc
GET /api/v1/anchors)io.github.Garl-Protocol/agent-trustGARL Protocol is open source under the Apache 2.0 License. Contributions are welcome — see CONTRIBUTING.md for guidelines and CODE_OF_CONDUCT.md for community standards. Every commit must be DCO-signed (git commit -s).
Requirements: Python 3.10+ for the backend (PEP 604 union syntax),
Node 18+ for the frontend. macOS users: the system python3 is 3.9
and will fail backend tests — install 3.10+ via pyenv / brew install python@3.12
and invoke explicitly (python3.12 -m pytest tests/).
git checkout -b feature/amazing-feature)python3.12 -m pytest for backend, npx next build for frontend)git commit -s -m 'Add amazing feature')https://api.garl.ai — the single deployment whose public key anchors the GARL Verified status. Public keys are published at /.well-known/garl-keys.json.docs/self-host.md. Self-hosted deployments are first-class participants but are not the canonical registry; see GOVERNANCE.md.Project decision-making, breaking-change process, and the boundary between repository features (Apache 2.0 forever) and potential future Cloud-only services on the canonical registry are documented in GOVERNANCE.md.
Apache License 2.0 — see LICENSE for details.