This page is the unified view. Each facet has a dedicated page or
page-section: KYA tiers covers tier verification,
Settling on Stellar and Settling on Base
cover the chain-side per-call layers per rail, and A2A agent card
covers the ERC-8004 NFT registry.
The five facets
Facets 1–4 are bound to each call — they live in the receipt envelope and are part of the canonical encoding (
json-sort-keys-v1) that the HMAC signs. Facet 5 is bound to the agent itself — it’s a persistent NFT that exists across calls, settles, and outlives Sly.
Facet 1 — Tier (KYA)
Sly’s formal identity verification tiers — the direct parallel to KYC/KYB for humans. Four tiers, graduated spending limits, each tier requires more verification.
The receipt stamps
agent_kya_tier at sign time — frozen in the envelope. Even if the agent’s tier later changes (or gets revoked), that receipt’s tier value stays exactly what it was when Sly approved the payment.
→ Full details: KYA tiers
Facet 2 — Control (chain binding)
Tier verification tells you Sly trusts the agent. Chain binding tells you the agent provably controls the on-chain address the receipt names. Without it, the agent’s address is just an assertion — a wallet field Sly accepted on faith. The mechanism is rail-specific but conceptually identical: Sly issues a fresh challenge, the agent signs it with the keypair it claims to control, Sly verifies the signature.
After binding, the receipt’s
agent_chain_proof field flips:
Bindings render in the agent detail page’s Chain Bindings panel with a green
✓ SEP-10 PROVEN / ✓ EIP-191 PROVEN badge; asserted addresses render with an amber asserted badge that explains, in the tooltip, what’s NOT cryptographically backed.
→ Rail specifics: Settling on Stellar · Settling on Base
Facet 3 — Custody (who actually signs)
The most common identity mistake in agentic-payment systems is conflating “the agent’s address is X” with “the agent’s process controls X’s keys, right now.” Facet 2 proves the agent signed once at bind time. Custody disclosure tells you where the keys actually live for each new signature. The receipt’sagent_custody_provider field stamps whichever provider actually signed the call:
This is the structural change that lets future custody providers drop in without breaking any receipt verifier — the canonical encoding handles new values by design. No fake green checks: if the keys are still in env, the receipt says
env_key. The honesty is the feature.
Facet 4 — Discoverability (on-chain anchoring)
Facets 1–3 are discoverable through Sly’s API and your tenant database. Facet 4 makes the receipt’s existence visible from chain alone — without trusting Sly. The/anchor route publishes the receipt hash to chain under Sly’s schema:
Once anchored, anyone with the schema UID can:
- Scan all Sly receipt anchors for a given agent
- Pull the on-chain attestation
- Re-derive the canonical receipt hash from the source receipt
- Byte-compare — without ever calling the Sly API
Facet 5 — Registry (NFT identity)
Facets 1–4 prove things about each call. Facet 5 makes the agent itself discoverable as a first-class on-chain entity — a persistent NFT identity that exists across calls, settles, and Sly’s uptime. Sly registers agents on the ERC-8004 Trustless Agents Identity Registry — an ERC-721 contract on Base / Base Sepolia. Each agent gets a unique token ID that any system can read, link to, and build reputation around independent of Sly’s database.GET /a2a/<agent_id>/.well-known/agent.json) carries the NFT link, and the on-chain Reputation Registry accrues per-counterparty feedback that anyone can query — including buyers comparing your agent against others.
What lives where
Stellar — work in progress. A Soroban-based agent identity registry comparable to ERC-8004 is in development. The closest existing in-tree primitive is AttestProtocol — which we already use for per-receipt hash anchoring (Facet 4) — but AttestProtocol attests to facts, not agents. The proper analog is a persistent Soroban smart contract registry under Sly’s anchor authority. Contact us if Stellar Facet 5 is on your critical path and we’ll prioritize.
Why this matters
- Portability — the NFT identity survives Sly going offline. Your agent’s track record isn’t locked in Sly’s database.
- Composability — any DeFi/marketplace contract on Base can gate on
Identity Registry.balanceOf(agentAddress) > 0to require a verified Sly agent. - Reputation neutrality — counterparty feedback accrues on the public Reputation Registry. No single platform (including Sly) controls it.
- Identifier stability — the
erc8004_idis the durable cross-system identifier. UUIDs change between databases; an ERC-721 token ID does not.
env_key default — convenient, not self-sovereign). Transferring NFT ownership to the agent operator’s wallet is a future story aligned with Facet 3’s smart-account custody roadmap.
→ Endpoint surface + reputation details: A2A agent card
The receipt envelope
Every Sly governed payment — Base or Stellar — produces a receipt that carries the four per-call facets (1–4) as first-class fields. Facet 5 lives on the A2A agent card, not in the per-call receipt.Why five facets, not one
Each facet answers a different threat. Collapse them into one and you lose the distinction between failure modes:
The five-facet design means a single compromise doesn’t break the chain of custody. A tier downgrade doesn’t invalidate previously-signed receipts. A custody migration is visible in the receipt stream. An on-chain anchor outlives Sly’s database. A persistent NFT identity outlives Sly entirely.
Verifying agent identity end-to-end
Six layers of evidence, weakest to strongest:- Sly UI —
/dashboard/agents/<id>(presentation, not proof) - Sly API —
GET /v1/agents/:id,GET /v1/agents/:id/chain-bindings,GET /a2a/<id>/.well-known/agent.json - Offline receipt verify —
node verify-offline.mjs receipt.json(re-derives the HMAC; Facets 1–4 verified in one shot) - Rail block explorer — basescan / stellar.expert (the underlying settlement)
- On-chain receipt attestation — EAS or AttestProtocol explorer (the receipt hash, published, signed by Sly’s anchor key — Facet 4)
- On-chain agent NFT + reputation — BaseScan ERC-8004 Identity Registry + Reputation Registry (the persistent agent identity and counterparty feedback — Facet 5, Base only today)
Where to go from here
KYA verification tiers
Facet 1 in depth — DSD declarations, tier-gating, kill-switch operators, Continuous Agent Integrity.
A2A agent card + ERC-8004
Facet 5 in depth — minting the NFT identity, the public agent card, reputation accrual on the on-chain Reputation Registry.
Ed25519 keypair auth
The session-token identity layer — separate from chain identity, complementary to it.
Settling on Stellar
Rail-specific implementation of Facets 2–4 on Stellar (SEP-10, custody disclosure, AttestProtocol anchoring).
Settling on Base
Rail-specific implementation of Facets 2–5 on Base (EIP-191, ERC-4337 custody, EAS anchoring, ERC-8004 NFT identity).