A Unified Trust Framework
attest.so
A Unified Trust Framework for Blockchain-Based Attestation Infrastructure
Website & DocsOfficial attestprotocol.org home Complete integration guides & API referenceLive Environments| Network | Stellar | |---------|---------| | Sandbox | Try it now | | Testnet | Launch | | Mainnet | Launch | |
Smart ContractsStellar (Mainnet) ยท View on Stellar.Expert
NPM Packages
Browse on npm: stellar-sdk ยท cli |
Overview
attest.so provides enterprise-grade infrastructure for builders to create "Reputation Authorities" on-chain with verifiable and comprehensive identity proofs on Stellar.
Our framework addresses critical challenges in Web3:
- Identity Verification: Robust mechanisms for verifying identities across blockchain ecosystems
- Interoperable Trust: Consistent attestation standards on Stellar
- 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
Authorityabout aSubject. They are structured according to aSchemaand 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.
Key Components
1. Smart Contracts
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/
โโโ 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.
2. SDK (Software Development Kit)
A TypeScript SDK that provides a unified interface for interacting with our attestation infrastructure on Stellar.
// 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('YOURSTELLARSECRET_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
- 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.
# 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/ # Documentation site (Mintlify)
โ โโโ horizon/ # Stellar blockchain indexer (Express.js + MongoDB)
โโโ contracts/
โ โโโ stellar/ # Soroban contracts (protocol, resolvers)
โโโ packages/
โ โโโ sdk/ # Unified TypeScript SDK
โ โโโ stellar-sdk/ # Stellar-specific SDK implementation
โ โโโ cli/ # CLI tool
โ โโโ core/ # Core SDK abstractions
โโโ examples/
See NAMING.md for detailed information about naming conventions and directory structure standards.
Technical Stack
- SDK/CLI: TypeScript, Node.js, Stellar SDK, Horizon Client
- Smart Contracts: Rust with Soroban
- Developer Experience:
Getting Started
Installation
# 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
# Start the documentation site
pnpm run dev:docs
Run tests
pnpm test
Working with Contracts
# 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 <YOUR_ACCOUNT>
Contributing
Contributions are welcome! Please see our CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Setting up Rust Analyzer
With Rust Analyzer installed, you can configure it to recognize our Rust-based contract project:
{
"rust-analyzer.linkedProjects": [
"contracts/stellar/Cargo.toml"
]
}
Resources & Links
- Product Development Log
- Technical Documentation (Coming Soon)
- API Reference (Coming Soon)
Awards & Recognition
License
This project is licensed under the MIT License.