A Unified Trust Framework for Blockchain-Based Attestation Infrastructure
|
Stellar (Mainnet) · View on Stellar.Expert
Stellar (Testnet) · View on Stellar.Expert
npm install @attestprotocol/stellar-sdk
npm install @attestprotocol/cliBrowse on npm: stellar-sdk · cli |
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
- 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.
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.
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('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
- TypeScript-first for a better developer experience
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}'Comprehensive documentation and example implementations to facilitate integration:
- Interactive API reference
- Integration guides
- Example applications
- Best practices
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.
- SDK/CLI: TypeScript, Node.js, Stellar SDK, Horizon Client
- Smart Contracts: Rust with Soroban
- Developer Experience:
- pnpm workspaces for monorepo management
- TypeScript
- ESLint/Prettier
- Vitest for testing
# Clone the repository
git clone https://github.com/daccred/attest.so.git
cd attest.so
# Install dependencies
pnpm install
# Build all packages
pnpm build# Start the documentation site
pnpm run dev:docs
# Run tests
pnpm test# 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>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
With Rust Analyzer installed, you can configure it to recognize our Rust-based contract project:
{
"rust-analyzer.linkedProjects": [
"contracts/stellar/Cargo.toml"
]
}- Product Development Log
- Technical Documentation (Coming Soon)
- API Reference (Coming Soon)
Public Goods Award Winner Recognized for building critical public infrastructure for the Solana ecosystem |
SCF Award Recipient Selected for advancing attestation infrastructure on the Stellar network |
This project is licensed under the MIT License.


