Skip to content

Repository files navigation

SATI: Solana Agent Trust Infrastructure

License

ERC-8004 on Solana. On-chain identity, verifiable reputation, and agent discovery - the same standard backed by MetaMask, Google, and Coinbase, implemented with sub-cent storage and sub-second finality.

Agents register as Token-2022 NFTs, feedback is stored as compressed attestations at ~$0.002 each, and the SDK works out of the box - no API keys, no custom indexer, no infrastructure.


Quick Start

pnpm add @cascade-fyi/sati-agent0-sdk

Peer dependencies:

pnpm add @cascade-fyi/sati-sdk @solana/kit @solana-program/token-2022 agent0-sdk
import{SatiAgent0}from"@cascade-fyi/sati-agent0-sdk";import{generateKeyPairSigner,createSolanaRpc}from"@solana/kit";// 1. Create a funded devnet walletconstsigner=awaitgenerateKeyPairSigner();constrpc=createSolanaRpc("https://api.devnet.solana.com");awaitrpc.requestAirdrop(signer.address,1_000_000_000n).send();// 2. Initialize the SDK (zero config - no API keys needed)constsdk=newSatiAgent0({network: "devnet", signer });// 3. Register an agent (metadata uploaded to IPFS automatically)constagent=sdk.createAgent("MyAgent","An AI trading assistant");agent.setActive(true);constregHandle=awaitagent.registerIPFS();console.log(agent.agentId);// solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:MintAddr...// 4. Give feedback (0-100 score with optional tags)constfbHandle=awaitsdk.giveFeedback(agent.agentId!,85,"quality","speed");const{result: feedback}=awaitfbHandle.waitMined();// 5. Query reputationconstsummary=awaitsdk.getReputationSummary(agent.agentId!);console.log(`${summary.count} reviews, avg ${summary.averageValue}`);

Why SATI?

Proof of participation. Agents sign a cryptographic commitment with every response, before knowing what score the reviewer will give. They can't cherry-pick positive reviews - they already committed to the interaction on-chain.

  • On-chain identity - Agents are Token-2022 NFTs, visible in Phantom, Solflare, Backpack
  • Blind feedback - Agent commits before outcome is known; reviewer needs agent's signature to submit
  • Complete histories - Every interaction stored on-chain (~$0.002 each), not just aggregates
  • Zero infrastructure - Hosted IPFS uploads and Photon RPC built into the SDK, no API keys needed
  • Sub-second finality - ~400ms today, ~150ms with Alpenglow

100% ERC-8004 compatible - same registration file format, same functional interfaces, cross-chain agent identity via CAIP-2.


Packages

PackageDescription
@cascade-fyi/sati-agent0-sdkHigh-level SDK for agent registration, feedback, search, and reputation. Start here.
@cascade-fyi/sati-sdkLow-level SDK for raw attestations, custom schemas, compression, encryption.
@cascade-fyi/compression-kitLight Protocol compression primitives for @solana/kit.
SATI ProgramAnchor program for on-chain registration and attestation routing.

Architecture

┌───────────────────────────┐
│ Token-2022 │
│ - Identity storage │
│ - TokenMetadata │
│ - TokenGroup │
└───────────────────────────┘
▲
│ (CPI: mint NFT)
┌─────────────────────────────────────────────────────────────────┐
│ SATI Program │
│ (satiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe) │
├─────────────────────────────────────────────────────────────────┤
│ Registry: │
│ initialize() → Create registry + TokenGroup │
│ register_agent() → Token-2022 NFT + group member │
│ Attestation: │
│ register_schema_config() → Register schema + storage type │
│ create_attestation() → Verify sigs → route to storage │
│ close_attestation() → Close/nullify attestation │
└─────────────────────────────────────────────────────────────────┘
│ │
│ (CPI: compressed) │ (CPI: regular)
▼ ▼
┌───────────────────────────┐ ┌────────────────────────────┐
│ Light Protocol │ │ Solana Attestation Service│
│ (Compressed Storage) │ │ (Regular Storage) │
├───────────────────────────┤ ├────────────────────────────┤
│ - Feedback attestations │ │ - ReputationScore │
│ - Validation attestations │ │ - On-chain queryable │
│ - ~$0.002 per attestation │ │ │
└───────────────────────────┘ └────────────────────────────┘

Costs

OperationCost
Agent registration~0.003 SOL
Feedback (single)~$0.002
Feedback (batched 5/tx)~$0.001
Validation~$0.002

See benchmarks for detailed CU measurements.


Documentation

docs.sati.cascade.fyi - Full documentation


Building from Source

git clone https://github.com/cascade-protocol/sati.git
cd sati && pnpm install
# Build program + SDK
anchor build
cd packages/sdk && pnpm build
# Run tests
anchor test

Requirements: Rust 1.89.0, Solana CLI 2.0+, Anchor 0.32.1+, Node.js 18+, pnpm


Deployed Addresses

NetworkProgram ID
MainnetsatiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe
DevnetsatiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe

View on Solana Explorer


ERC-8004 Compatibility

ERC-8004 FeatureSATI Equivalent
registrationFileToken-2022 uri field (IPFS/HTTP)
transfer()Native Token-2022 transfer
giveFeedback()FeedbackPublicV1 (open, ERC-8004 compatible) + FeedbackV1 (dual-signature for on-chain composability)
Collection membershipTokenGroup extension

Security

See SECURITY.md for vulnerability reporting.

Contributing

See CONTRIBUTING.md for guidelines.

Acknowledgments

Built on:Token-2022, Anchor, Solana Attestation Service, Light Protocol

Inspired by:ERC-8004, A2A Protocol, Model Context Protocol

Connect

License

Apache License 2.0 - Copyright 2025-present Cascade Protocol

About

Trust infrastructure for million-agent economies on Solana - identity, reputation, and validation designed for continuous feedback at scale.

Topics

Resources

Contributing

Security policy

Stars

18 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages