Replies: 8 comments 2 replies
|
Really good one! One potential improvement could involve formalizing a DID interoperability layer between ERC-8004 and SATI. This wll enable agents whose identities originate in ERC-8004 registries to maintain verifiable presence on Solana through ZK-compressed identity roots, while retaining CAIP-10 compatibility. We can unify identity semantics across EVM and non-EVM execution environments and support a portable agent identity passport across both ecosystems. |
Update: v2 SimplificationAfter further analysis, I've significantly simplified the design. The original v1 proposed four custom Anchor programs with ZK compression — this was overcomplicated for current needs. Key changes in v2:
The result: same ERC-8004 functional compatibility, ~80% less custom code to audit. Full specification: specification.md Feedback welcome on this simplified approach. |
Update: Implementation CompleteRegistry program is now implemented and deployed to devnet: Line count correction: ~500 lines (not ~150). The Updated spec: specification.md |
Feedback from the MoltLaunch / SAP teamJust posted sRFC Discussion #9 proposing the Solana Agent Protocol (SAP) — and then discovered your SATI v2 proposal addresses much of the same problem space. Great minds, similar solutions. What SATI v2 Gets Right
Where SAP Extends SATIOur SAP proposals address gaps we see in both ERC-8004 and SATI: 1. Hardware-Anchored Identity (Anti-Sybil) SATI uses Token-2022 mint addresses as identity — but creating new mints is nearly free (~0.003 SOL). The Sybil cost is effectively $0. SAP-0002 proposes tying identity to physical hardware: Question: Could SATI's Token-2022 identity be extended with a hardware attestation field in This would combine SATI's wallet visibility with SAP's Sybil resistance. 2. STARK Privacy-Preserving Proofs SATI's reputation (SAS feedback) is public — scores are visible on-chain. For competitive agents (trading bots, gaming), this leaks alpha. SAP-0001 includes STARK zero-knowledge proofs: prove "score ≥ 60" without revealing the actual score. Could this be added as a 3. DePIN Device Attestation SAP-0003 defines how to bind agent identity to verified DePIN devices (io.net, Helium, Nosana). These networks already store device attestations as Solana accounts. SATI could reference DePIN PDAs in the Token-2022 metadata or via SAS attestations — making hardware verification a first-class trust signal. Integration ProposalRather than competing standards, we think SAP and SATI should compose: Specifically:
Reference ImplementationWe've built a working implementation during the Colosseum Agent Hackathon:
We'd love to collaborate on a unified standard. Our hardware identity + your Token-2022 infrastructure = the strongest agent trust layer on any chain. cc @opwizardx — open to a call or async collaboration? |
Update: Full Specification RefreshUpdated the proposal to reflect the current deployed state. The previous draft described an early simplified design - the system has evolved significantly since then. What changed:
ERC-8004 note: The Jan 2026 ERC-8004 update removed Full specification: specification.md |
|
The SATI direction is interesting because it treats agent trust as shared infrastructure rather than a single reputation provider. The blind feedback model is especially important: if agents can selectively sign only favorable interactions, the reputation layer becomes biased at the source. I would keep identity, interaction proof, and scoring clearly separated. Token-2022 or another identity primitive can identify the agent; the feedback record can prove an interaction happened; scoring providers can compete over interpretation. That separation prevents one scoring model from becoming a de facto trust monopoly. For the spec, I would add explicit edge cases: delegated signer compromise, wallet transfer of an agent identity, feedback spam, duplicate interaction hashes, schema migration, revocation, and cross-chain identity mapping. These are the cases relying parties will ask about before treating SATI evidence as decision-grade trust data. |
|
Hi, opened a complementary sRFC at #11 (did:aip, W3C DID Method for Where SATI focuses on the economics of feedback (blind signatures, Happy to discuss whether a SATI feedback attestation could carry a Discussion: #11 |
|
Useful design space. We are building SATP / AgentFolio from the adjacent marketplace angle: DID/agent identity plus Solana wallet verification, with SATP still RC-S6 and building in public, and satp-client published. One thing I would be interested to compare: how SATI’s blind-feedback commitment maps to marketplace escrow receipts, where the work approval event and the agent identity resolver need to stay separate. If there is a preferred shape for CAIP-220 task refs in marketplace flows, we can test it against the AgentFolio MCP server path. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
DRAFT: sRFC XX: Solana Agent Trust Infrastructure (SATI)
Abstract
SATI is open trust infrastructure for AI agents on Solana, solving the economics of on-chain feedback through a blind signature model. It combines:
Built on: Token-2022 (identity), SAS (schemas), Light Protocol (storage), Photon (indexing), x402 (payments)
Motivation
The Coordination Problem
Autonomous agents performing economic actions require infrastructure that traditional identity systems don't provide:
The Free Feedback Problem
Web2 reviews work because Google, Yelp, and Amazon make them free. On-chain transaction costs kill participation. SATI solves this by aligning incentives:
At ~$0.002 per feedback via Light Protocol compression, agents can bundle the cost into service delivery.
Design Space
ERC-8004 (Ethereum) provides identity and reputation registries using ERC-721 NFTs. Its January 2026 update removed
feedbackAuthentirely, adopting an open model where anyone can submit feedback without agent involvement. SATI's blind feedback model provides stronger guarantees (see ERC-8004 Compatibility).Google A2A defines agent-to-agent communication but defers identity and trust: "Discovery and trust establishment are outside scope."
Anthropic MCP standardizes tool integration but provides no agent identity or reputation.
x402 (Coinbase) standardizes HTTP-native micropayments. SATI is its canonical feedback extension - the payment transaction hash becomes the task reference binding feedback to service delivery.
Core Concept: Blind Feedback
The key insight enabling trustworthy on-chain feedback. Agent and counterparty sign different data at different times:
interaction_hash = keccak256(schema || task_ref || data_hash)Flow: Client pays (x402) -> Agent responds + signs (blind) -> Client signs feedback -> Agent/facilitator submits on-chain
Why it works: The agent signs BEFORE knowing the feedback sentiment. It cannot refuse to participate in negative reviews because it has already committed by signing the interaction hash with its response.
Enforcement is handled at the application layer, not the protocol:
Architecture
Dual Storage Model
SATI routes attestations to different backends based on access patterns:
The program checks
SchemaConfig.storage_typeand CPIs to the appropriate backend. This is transparent to callers.Registry
RegistryConfig (PDA:
["registry"])group_mintauthoritytotal_agentsbumpAgentIndex (PDA:
["agent_index", member_number])Token-2022's
TokenGroupMemberstoresmember_numberbut provides no query mechanism.getProgramAccountswith memcmp fails because extension offsets vary by extension order. AgentIndex provides a forward index: derive PDA frommember_number, fetchmint.mintbumpAgentIndex PDAs are never deleted. Enumeration relies on sequential member_numbers with no gaps.
Instructions
initializeregister_agentupdate_registry_authoritylink_evm_addressNo registration fees. Only Solana rent (~0.003 SOL per agent).
Identity: Token-2022 NFT
Each agent is a Token-2022 NFT with the following extensions:
Configuration
On-chain Metadata
Metadata updates and transfers use direct Token-2022 calls - the registry doesn't wrap these operations.
Attestation System
SchemaConfig (PDA:
["schema_config", schema])Each SAS schema registered with SATI has an on-chain config controlling its behavior:
sas_schemasignature_modestorage_typedelegation_schemacloseablenameSignature Modes
Signatures are extracted from Ed25519 precompile instructions in the transaction, matched by message content (not index). This saves ~192 bytes per DualSignature transaction and is resilient to transactions containing unrelated Ed25519 instructions.
Universal Base Data Layout (131 bytes)
All schemas share this layout. The program validates it on-chain; schema-specific content is validated by the SDK.
layout_version1task_refagent_mintcounterpartyoutcomedata_hashcontent_typecontentKey design benefit: Fixed offsets enable Photon memcmp filtering by schema, agent, or outcome without deserializing.
Schemas
FeedbackV1 - The core schema. Agent and counterparty both sign. Agent signs blind (before knowing sentiment). Content is optional JSON with score (0-100), tags, and message.
FeedbackPublicV1 - Public feedback that anyone can submit without agent participation. Weaker guarantees (no proof agent served the task) but useful for third-party assessments.
ValidationV1 - Third-party validation of agent behavior (TEE attestation, ZK-ML proof, re-execution, consensus). Same blind model as FeedbackV1.
ReputationScoreV3 - Provider-computed aggregate scores stored as regular SAS attestations for on-chain queryability. One score per (provider, agent) pair, updated by close-and-recreate. Multiple providers can score the same agent with different methodologies.
DelegateV1 - Authorization for a delegate (hot wallet) to sign attestations on behalf of an agent owner. See Delegation section.
Delegation
Hot/cold wallet separation for agents that must sign every response (blind feedback model) but shouldn't expose their ownership keys.
Lifecycle
Grant: Owner calls
create_regular_attestation(DelegateV1)- creates SAS attestation with deterministic nonce. Thedata_hashfield stores the current owner's pubkey.Use: Delegate calls
create_*_attestation(Feedback/etc). Program checks:Revoke: Owner calls
close_regular_attestation(DelegateV1 PDA). Rent reclaimed.Security Properties
delegation_schema: Nonedata_hashchecked against current ownerexpiryfieldWhat delegates CAN do: Sign attestations for schemas with
delegation_schema: Some(DelegateV1).What delegates CANNOT do: Create sub-delegations, close attestations, revoke their own delegation, transfer the agent NFT, or update agent metadata.
ERC-8004 Compatibility
SATI uses the same registration file format as ERC-8004:
{ "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1", "name": "myAgentName", "description": "AI assistant with x402 payment support", "image": "https://example.com/agent.png", "properties": { "files": [{ "uri": "https://example.com/agent.png", "type": "image/png" }], "category": "image" }, "endpoints": [ { "name": "A2A", "endpoint": "https://agent.example/agent-card.json", "version": "0.3.0" }, { "name": "MCP", "endpoint": "https://mcp.agent.example/", "version": "2025-06-18" }, { "name": "agentWallet", "endpoint": "solana:5eykt4...:7S3P4..." } ], "registrations": [ { "agentId": "sati:mainnet:ABC123mint", "agentRegistry": "solana:5eykt4...:satiRkx..." }, { "agentId": 22, "agentRegistry": "eip155:1:0x..." } ], "supportedTrust": ["reputation"], "active": true }Authorization Model Comparison
The January 2026 ERC-8004 update removed
feedbackAuthentirely, adopting an open model where anyone can submit feedback about any agent. SATI supports both models:SATI's FeedbackPublicV1 (CounterpartySigned) mirrors ERC-8004's open model. FeedbackV1 (DualSignature) provides stronger guarantees when agent participation is available.
Cross-Chain Identity
The
registrations[]array in the registration file links identities across chains. Combined withlink_evm_address(on-chain secp256k1 verification), agents can cryptographically prove ownership of EVM addresses.SATI identifier format:
sati:<network>:<mint_address>CAIP-2/CAIP-10 identifiers are used throughout for chain-agnostic addressing.
Costs
Security
On-Chain Guarantees
agent_mint != counterpartyClose Authorization
Close authorization follows the principle: the signing party controls closure.
Trust Model
Known Limitations
What's NOT Included (Deferred)
These can be added via new SAS schemas or program upgrades without breaking existing attestations.
Implementation
satiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe@cascade-fyi/sati-sdkDeployed on devnet and mainnet.
References
Status: Draft
Author: Misha Kolesnik (@opwizardx)
Created: 2025-11-11
Updated: 2026-02-11
All reactions