# attest.so
![attest.so Logo](https://github.com/user-attachments/assets/520b21ee-c8d7-4bda-9809-999c489551b9) **A Unified Trust Framework for Blockchain-Based Attestation Infrastructure** [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Solana Radar Award](https://img.shields.io/badge/Solana%20Radar-Public%20Goods%20Award-yellow)](https://x.com/solana/status/1856362113561964676) [![GitHub Issues](https://img.shields.io/github/issues/daccred/attest.so)](https://github.com/daccred/attest.so/issues) ---
### ๐ŸŒ Website & Docs - **[๐Ÿ  Website](https://attestprotocol.org)** Official attestprotocol.org home - **[๐Ÿ“š Developer Docs](https://docs.attestprotocol.org)** Complete integration guides & API reference ### ๐Ÿ› ๏ธ Live Environments
Network Stellar Solana Starknet
Sandbox ๐Ÿงช Try it now
Testnet ๐Ÿ”— Launch ๐Ÿšง Soon ๐Ÿšง Soon
Mainnet ๐Ÿš€ Launch ๐Ÿšง Soon ๐Ÿšง Soon
### ๐Ÿ“œ Smart Contracts **Stellar (Mainnet)** ยท [View on Stellar.Expert](https://stellar.expert/explorer/public) - [Protocol Contract](https://stellar.expert/explorer/public/contract/CBUUI7WKGOTPCLXBPCHTKB5GNATWM4WAH4KMADY6GFCXOCNVF5OCW2WI) ยท `CBUUI...` - [Authority Contract](https://stellar.expert/explorer/public/contract/CBKOB6XEEXYH5SEFQ4YSUEFJGYNBVISQBHQHVGCKB736A3JVGK7F77JG) ยท `CBKOB...` **Stellar (Testnet)** ยท [View on Stellar.Expert](https://stellar.expert/explorer/testnet) - [Protocol Contract](https://stellar.expert/explorer/testnet/contract/CBFE5YSUHCRYEYEOLNN2RJAWMQ2PW525KTJ6TPWPNS5XLIREZQ3NA4KP) ยท `CBFE5...` - [Authority Contract](https://stellar.expert/explorer/testnet/contract/CCMJGCRSQRZ56BDSLCAYV4BNS3SLIDPIP4CQYNT5X2VOPZIQ2ZM7GBVV) ยท `CCMJG...` ### ๐Ÿ“ฆ NPM Packages ```bash npm install @attestprotocol/stellar-sdk npm install @attestprotocol/solana-sdk npm install @attestprotocol/starknet-sdk npm install @attestprotocol/cli ``` **Browse on npm:** [stellar-sdk](https://www.npmjs.com/package/@attestprotocol/stellar-sdk) ยท [solana-sdk](https://www.npmjs.com/package/@attestprotocol/solana-sdk) ยท [starknet-sdk](https://www.npmjs.com/package/@attestprotocol/starknet-sdk) ยท [cli](https://www.npmjs.com/package/@attestprotocol/cli)
---
## ๐ŸŒ Overview **attest.so** provides enterprise-grade infrastructure for builders to create "Reputation Authorities" on-chain with verifiable and comprehensive identity proofs. The project supports multiple blockchain platforms, enabling a unified approach to attestations and identity verification. Our framework addresses critical challenges in Web3: - **Identity Verification**: Robust mechanisms for verifying identities across blockchain ecosystems - **Interoperable Trust**: Consistent attestation standards across multiple blockchains - **Reputation Management**: Infrastructure for building and maintaining on-chain reputation - **Scalable Solutions**: Enterprise-ready attestation infrastructure for builders ## ๐Ÿ—๏ธ Architecture ### Core Concepts - **Attestations**: Verifiable, cryptographically signed claims made by an `Authority` about a `Subject`. They are structured according to a `Schema` and recorded on-chain. - **Schemas**: Structured templates that define the format and data types for an attestation. They act as a blueprint, ensuring that attestations are consistent and machine-readable. - **Authorities**: Trusted entities with the permission to issue, manage, and revoke attestations. Authorities are registered on-chain, and their integrity is verifiable. - **Subjects**: The entities (e.g., users, smart contracts, organizations) about which attestations are made. - **Resolvers**: On-chain programs responsible for interpreting and verifying attestations. They provide a standardized interface to locate, decode, and validate attestation data, and can be designed to handle complex logic such as dynamic schema resolution, revocation checks, and integration with off-chain data sources. ### Multi-Chain Support attest.so is designed with cross-chain compatibility as a primary goal: | Blockchain | Contract Language | Status | Key Features | | ---------- | ----------------- | ----------- | ------------------------------------------------------- | | Stellar | Soroban (Rust) | Active | Fee management, levy collection, verifiable authorities | | Solana | Anchor (Rust) | Development | High throughput, scalable attestation storage | | Starknet | Cairo | Development | ZK-friendly proofs, privacy-preserving attestations | | Sui | Move | Planned | Object-oriented attestation model | | Aptos | Move | Planned | Resource-oriented attestation model | ## ๐Ÿงฉ Key Components ### 1. Smart Contracts The repository contains modular smart contract implementations for multiple blockchain platforms: #### Stellar/Soroban Implementation Our Stellar implementation, built with Soroban, provides a robust framework for on-chain attestations. It leverages Rust for performance and safety, and is designed to integrate seamlessly with the Stellar ecosystem, including Horizon and the Stellar SDK. ``` contracts/stellar/ โ”œโ”€โ”€ authority/ # Manages and resolves authorities โ”œโ”€โ”€ protocol/ # Core attestation protocol logic โ”œโ”€โ”€ resolvers/ # Schema and attestation resolvers โ””โ”€โ”€ ... # Other configuration and build files ``` **Key Features:** - **Authority Management**: Contracts for registering, verifying, and managing attestation authorities. - **Core Protocol**: The central logic for creating, revoking, and managing attestations. - **Resolvers**: Efficient on-chain logic to resolve schemas and attestations. - **Soroban Integration**: Fully leverages Soroban's features for storage, authorization, and events. - **Fee and Levy System**: Optional fee collection mechanism for monetizing attestation services. #### Additional Blockchain Implementations Implementation details for Solana (Anchor), Starknet (Cairo), and Aptos (Move) with blockchain-specific optimizations. ### 2. SDK (Software Development Kit) A TypeScript SDK that provides a unified interface for interacting with our attestation infrastructure across different blockchains. ```typescript // Example: Interacting with Stellar contracts via the SDK import { AttestClient } from '@attestprotocol/sdk'; import { Keypair } from '@stellar/stellar-sdk'; // Initialize client for Stellar const keypair = Keypair.fromSecret('YOUR_STELLAR_SECRET_KEY'); const client = new AttestClient({ chain: 'stellar', network: 'testnet', secretKey: keypair.secret(), }); // Create an attestation on Stellar const attestation = await client.attest({ schema: 'did:attest:identity', subject: 'G...', // Subject's Stellar public key claims: { verified: true, level: 'premium' }, }); ``` **Core Functionality:** - Blockchain connection management - Schema creation and registration - Attestation lifecycle management - Cross-chain verification utilities - TypeScript-first for a better developer experience ### 3. CLI (Command Line Interface) A powerful command-line tool for developers and administrators to interact with the protocol directly from the terminal. ```bash # Install CLI npm install -g @attestprotocol/cli # Create a new attestation on the Stellar testnet attest create \ --schema did:attest:identity \ --subject G... \ --chain stellar \ --network testnet \ --claims '{"verified": true}' ``` ### 4. Documentation and Examples Comprehensive documentation and example implementations to facilitate integration: - Interactive API reference - Integration guides - Example applications - Best practices ## ๐Ÿ“ฆ Project Structure The repository follows a monorepo structure using pnpm workspaces: ``` attest.so/ โ”œโ”€โ”€ apps/ โ”‚ โ”œโ”€โ”€ docs/ โ”‚ โ””โ”€โ”€ explorer/ โ”œโ”€โ”€ contracts/ โ”‚ โ”œโ”€โ”€ stellar/ โ”‚ โ”œโ”€โ”€ solana/ โ”‚ โ”œโ”€โ”€ starknet/ โ”‚ โ”œโ”€โ”€ sui/ โ”‚ โ””โ”€โ”€ aptos/ โ”œโ”€โ”€ packages/ โ”‚ โ”œโ”€โ”€ sdk/ โ”‚ โ”œโ”€โ”€ stellar-sdk/ โ”‚ โ”œโ”€โ”€ solana-sdk/ โ”‚ โ”œโ”€โ”€ starknet-sdk/ โ”‚ โ”œโ”€โ”€ cli/ โ”‚ โ””โ”€โ”€ core/ โ””โ”€โ”€ examples/ โ”œโ”€โ”€ identity-verification/ โ””โ”€โ”€ reputation-system/ ``` See [NAMING.md](./NAMING.md) for detailed information about naming conventions and directory structure standards. ## ๐Ÿ› ๏ธ Technical Stack - **Frontend**: Next.js, React, Tailwind CSS - **SDK/CLI**: TypeScript, Node.js, Stellar SDK, Horizon Client - **Smart Contracts**: - **Stellar**: Rust with Soroban - **Solana**: Rust with Anchor - **Starknet**: Cairo - **Sui**: Move - **Aptos**: Move - **Developer Experience**: - pnpm workspaces for monorepo management - TypeScript - ESLint/Prettier - Jest for testing ## ๐Ÿš€ Getting Started ### Installation ```bash # Clone the repository git clone https://github.com/daccred/attest.so.git cd attest.so # Install dependencies pnpm install # Build all packages pnpm build ``` ### Running the Development Environment ```bash # Start the documentation site pnpm run dev:docs # Run the SDK tests pnpm run test:sdk # Deploy contracts to local development network pnpm run deploy:local ``` ### Working with Contracts ```bash # Build Soroban contracts cd contracts/stellar soroban contract build # Deploy to Stellar testnet soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/authority.wasm \ --network testnet \ --source ``` ## ๐Ÿค Contributing Contributions are welcome! Please see our [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'feat: add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request --- ## Setting up Rust Analyzer With Rust Analyzer installed, you can configure it to recognize all our Rust-based contract projects. This is essential for a smooth development experience, providing features like auto-completion and type-checking. Add the following to your `.vscode/settings.json` file: ```json { "rust-analyzer.linkedProjects": [ "contracts/stellar/Cargo.toml", "contracts/solana/Cargo.toml" ] } ``` This configuration ensures that Rust Analyzer can correctly interpret the dependencies and structure of each contract crate within our monorepo. --- ## ๐Ÿ”— Resources & Links - [Product Development Log](https://daccred.notion.site/We-re-building-https-on-the-blockchain-df20b05cb5a04e379a165714aab024fb?pvs=4) - [Technical Documentation](https://attest.so) (Coming Soon) - [API Reference](https://attest.so) (Coming Soon) --- ## ๐Ÿ† Awards & Recognition
Solana Logo

๐ŸŽ–๏ธ Solana Radar Hackathon

Public Goods Award Winner

Recognized for building critical public infrastructure for the Solana ecosystem

View on X
Stellar Logo

โญ Stellar Community Fund

SCF Award Recipient

Selected for advancing attestation infrastructure on the Stellar network

View on SCF
--- ## ๐Ÿ“ License This project is licensed under the [MIT License](./LICENSE).