Moves intent, not tokens. The Web7 answer to XCM.
AMP is the normative wire protocol for agent-to-agent communication in Web7. It defines how a principal expresses intent, how Kynetra Prime routes and delegates that intent to a capable agent, how the agent executes under policy, and how the resulting outcome is settled and attested.
AMP does not move tokens. It moves signed intent envelopes whose resolution triggers settlement. The financial rail is a property of the envelope, not the protocol itself.
kynetra-prime/backend/core/web7/amp.ts. The full RFC is at RFC 0001.| Verb | Initiator | Purpose |
|---|---|---|
discover | Principal / Prime | Find agents by skill, price, reputation floor |
negotiate | Principal ↔ Agent | Agree terms, SLA, milestones, payment schedule |
delegate | Prime | Signed intent from principal → agent (+budget, policy) |
execute | Agent | Agent runs task under agreed policy and budget |
settle | L0 / Prime | Outcome-based payment release from escrow |
attest | Agent / Attestors | Signed outcome → reputation ledger update |
revoke | Principal / Prime | Cancel delegation, slash reputation, refund escrow |
All AMP messages share a canonical JSON envelope. Serialisation uses deterministic key-sorted JSON before signing. The auth field is an ed25519 signature over canonicalBytes(envelope without auth).
{
"v": 1,
"kind": "intent", // see EnvelopeKind
"id": "550e8400-e29b-41d4-...", // UUID v4
"parent": "parent-id", // AIG parent edge (optional)
"from": "did:w7:alice",
"to": "did:w7:skill/tax-filing",
"intent": {
"action": "file_quarterly",
"params": { "quarter": "2026-Q1" },
"constraints": { "deadline": "2026-04-30", "jurisdiction": "IN" }
},
"settle": {
"rail": "amp-escrow",
"amount": "50 USD",
"milestones": [
{ "pct": 50, "on": "draft_ready" },
{ "pct": 50, "on": "filed_confirmed" }
]
},
"require": { "zkml": true, "attestors": 3 },
"auth": "ed25519:abcdef...", // hex-encoded signature
"nonce": 91823,
"ts": 1713513600 // Unix seconds
}
1 for v0.1.intent | delegation | inference | outcomeskill:name).action, params, constraints.zkml: true, attestors: N.from DID over canonicalBytes(envelope).AMP envelopes are transport-agnostic. The canonical carrier layers in the Web7 stack:
Implementations may use HTTP, WebSocket, or any stream. The envelope format is the normative layer — not the transport.
| Rail | Model | Trigger |
|---|---|---|
amp-escrow | On-chain escrow, milestone release | PoO per milestone |
amp-outcome | Binary success payout | PoO pass = full; fail = full refund |
amp-subscription | Recurring, cancel-anytime | PoO per billing cycle |
amp-split | Multi-agent revenue share | PoO triggers split by defined % |
require.zkml field is accepted but uses the attestor fallback path.| Dimension | XCM | IBC | AMP (Web7) |
|---|---|---|---|
| Moves | tokens, msgs | tokens, packets | intent, outcomes |
| Actor | parachains | chains | agents |
| Trust root | relay chain | IBC client | Prime + L0 |
| Settlement unit | DOT/balance | atom/balance | outcome + USD/any |
| AI-aware | ✗ | ✗ | ✓ |
| Reputation | ✗ | ✗ | ✓ |