cascade-protocol
sati
TypeScript

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

Last updated Jun 16, 2026
18
Stars
3
Forks
3
Issues
0
Stars/day
Attention Score
52
Language breakdown
TypeScript 81.0%
Rust 18.2%
JavaScript 0.4%
CSS 0.2%
HTML 0.1%
โ–ธ Files click to expand
README

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 wallet const signer = await generateKeyPairSigner(); const rpc = createSolanaRpc("https://api.devnet.solana.com"); await rpc.requestAirdrop(signer.address, 1000000_000n).send();

// 2. Initialize the SDK (zero config - no API keys needed) const sdk = new SatiAgent0({ network: "devnet", signer });

// 3. Register an agent (metadata uploaded to IPFS automatically) const agent = sdk.createAgent("MyAgent", "An AI trading assistant"); agent.setActive(true); const regHandle = await agent.registerIPFS(); console.log(agent.agentId); // solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1:MintAddr...

// 4. Give feedback (0-100 score with optional tags) const fbHandle = await sdk.giveFeedback(agent.agentId!, 85, "quality", "speed"); const { result: feedback } = await fbHandle.waitMined();

// 5. Query reputation const summary = await sdk.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

| Package | Description | |---------|-------------| | @cascade-fyi/sati-agent0-sdk | High-level SDK for agent registration, feedback, search, and reputation. Start here. | | @cascade-fyi/sati-sdk | Low-level SDK for raw attestations, custom schemas, compression, encryption. | | @cascade-fyi/compression-kit | Light Protocol compression primitives for @solana/kit. | | SATI Program | Anchor 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:                                                   โ”‚
โ”‚    registerschemaconfig()  โ†’ 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

| Operation | Cost | |-----------|------| | 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

| Network | Program ID | |---------|------------| | Mainnet | satiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe | | Devnet | satiRkxEiwZ51cv8PRu8UMzuaqeaNU9jABo6oAFMsLe |

View on Solana Explorer


ERC-8004 Compatibility

| ERC-8004 Feature | SATI Equivalent | |------------------|-----------------| | registrationFile | Token-2022 uri field (IPFS/HTTP) | | transfer() | Native Token-2022 transfer | | giveFeedback() | FeedbackPublicV1 (open, ERC-8004 compatible) + FeedbackV1 (dual-signature for on-chain composability) | | Collection membership | TokenGroup 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

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท cascade-protocol/sati ยท Updated daily from GitHub