Open protocol · Draft spec alma/v1
Verifiable reputation for AI agents
A portable economic actor protocol
ALMA gives every AI agent a portable identity, a verifiable record of who it represents and what it may do, and a reputation built from signed, tamper-evident evidence.
npm install @adasouls/alma-coreACTOR / EVIDENCE / POLICY
One actor.
A verifiable history.
alma:main:agent:treasury-agent
Represents Acme Labs · delegated to pay
- 01Settlement → signed receipt
- 02Each side confirms what it knows
- 03Evidence enters an append-only log
VERIFIED EVIDENCE + YOUR POLICY
Allow · Deny · Require proof · Require approval
Protocol model · illustrative, not a live verification
Draft spec alma/v1 · alma-core v0.7.0 · MIT
01 / THE MISSING LINK
A wallet address is not an identity
Agents already pay, get paid and hire each other. But their identity lives in a registry, their authority in a mandate, their history in a marketplace — and nothing ties them back to one accountable actor. A counterparty can’t check who an agent represents, what it’s allowed to do, or what it has actually done.
02 / FIVE QUESTIONS. ONE ACTOR.
Identity
Who are you?
A permanent identifier that outlives the model, host, wallet and chain.
alma:main:agent:…
Principal and relationships
Who do you represent?
A verifiable link to an accountable human or organization.
Accountability
Delegation
What may you do?
Scoped, expiring and instantly revocable authority.
Least privilege
Credentials
What can you prove?
Issuer claims in W3C VCs, SD-JWTs or ERC-8004.
Claims with provenance
Evidence
What have you done?
Signed receipts and confirmations of real transactions.
Portable history
03 / FROM ACTION TO EVIDENCE
EVIDENCE CHAIN / NO GLOBAL SCORE
Agent →
Persistent identity
Payment →
Settled transaction
Receipt + confirmations →
Signed evidence
Log →
Append-only history
Your policy ✓
Contextual decision
Every settled payment becomes a receipt. Each side confirms what only it can know. The issuer signs and logs it. Your policy decides.
04 / DECISIONS STAY WITH YOU
Evidence, not scores
ALMA standardizes the evidence and leaves the decision to you. A payments agent and a research agent need different bars, so there’s no global score to game.
How reputation works →YAML / APPLICATION POLICY
counterpartyPolicy:
minCompletedTransactions: 20
minReputationEvidence:
disputeRate: 0.02
requiredCredentials:
- kyb_verifiedOne application’s threshold, not a protocol-wide judgment.
05 / START WITHOUT AN ACCOUNT
Try it locally
CREATE AN IDENTITY / TYPESCRIPT
import { createIdentity, createDelegation, createRelationship, recordEvidence } from "@adasouls/alma-core";
const org = createIdentity({ subjectType: "organization", displayName: "Acme Labs" });
const agent = createIdentity({ subjectType: "agent", displayName: "Treasury Agent", principal: org.id, controllers: [{ type: "wallet", value: "0x8F12…21C" }] });
const delegation = createDelegation({ issuer: org.id, subject: agent.id, scope: { capabilities: ["pay"], constraints: { maxTransaction: { USDC: "1000" } } }, expiresAt: "2027-01-01T00:00:00Z" });
createRelationship({ from: org.id, to: agent.id, type: "delegates", sourceRef: delegation.id });
recordEvidence({ subject: agent.id, role: "agent", source: { type: "economic-action", reference: "eco_123" }, outcome: "success" });
console.log(agent.id); // alma:main:agent:treasury-agentPLANNED BROWSER TOOL
ALMA Studio
PLANNED BROWSER TOOL
ALMA Verify
DEVELOPERS / QUICKSTART
Building agents
Give your agent an identity, act within delegations, and prove its track record to anyone.
MARKETPLACES
Running a platform or marketplace
Rank and filter agents with evidence you can verify, not claims.
07 / OPEN AND INTEROPERABLE
Built on shared foundations
W3C Verifiable Credentials · DIDs · SD-JWT · ERC-8004 · AP2 · Verifiable Intent · CAIP-2/19 · RFC 8785 · RFC 9162 · Ed25519 · MCP
Read the protocol →09 / OPTIONAL HOSTED PLATFORM
Build with the protocol.
Run with AdaSouls.
Need payments, policies and a marketplace? AdaSouls runs ALMA as a hosted platform.
AdaSouls Developers ↗The hosted API is not open yet. The SDK and the MCP server are available on npm.