The credential infrastructure layer.
Fork it, extend it, ship it.
Attestto is digital identity infrastructure. You build modules on top. Citizens use your module. You earn a revenue share on every transaction. The platform handles identity, verification, and distribution.
What are you building?
Pick your path based on what you need. Each leads to a different part of the stack.
I need to verify documents
Use the <attestto-verify> web component. One script tag, drag-and-drop PDF verification. Zero config.
I need to issue verifiable credentials
Use @attestto-com/vc-sdk. Generate keys, issue W3C VCs, verify them. 20 lines of code.
I want to add DID-based login
Use @attestto/id-wallet-adapter. Discover wallets, request credentials, verify presentations. No passwords.
I need signature validation in my forms
Add credential checks to existing web forms. Verify professional licenses, check document signatures, age verification with selective disclosure.
I'm building on Solana + identity
Read the did:sns spec. Human-readable DIDs via Solana Name Service. W3C standards-track.
Three layers. Your module lives in the middle.
The platform handles infrastructure (bottom) and user surfaces (top). You build modules that plug into both.
Ship a module in a week
The SDK gives you identity, vault access, on-device LLM, credential gating, and distribution. You focus on your domain logic.
Clone the template
Start from cr-driving as your reference. It implements every SDK interface with real logic you can study.
Define your manifest
Set your module ID, required credentials, capabilities, routes, and icon. The manifest tells the shell what your module needs and provides.
Implement install()
The shell calls install(ctx) with a context object. You get credential access, storage, LLM, biometric auth, navigation, and inbox push.
Build your views
Vue 3 components, lazy-loaded via your manifest routes. The shell handles auth, navigation chrome, and credential gating.
Add onboarding + exams
Optional: return an OnboardingFlow with contextual LLM prompts. Add proctored exams with mastery tracking and VC issuance on completion.
Submit to the registry
Open a PR to the module registry. Community testers validate. Once merged, your module is available to every Attestto user.
The Module Interface
interface AttesttoModule { manifest: ModuleManifest install: (ctx: ModuleContext) => Promise<void> | void uninstall?: () => void getInboxItems?: () => Promise<InboxItem[]> getHomeWidget?: () => Component | null getOnboarding?: () => OnboardingFlow | null } interface ModuleManifest { id: string // unique, e.g. "cr-driving" name: string // display name country: string // ISO 3166-1 alpha-2, or "universal" version: string // semver description: string // short description icon: string // Material Icons name requiredCredentials: string[] // VCs that must be in vault capabilities: string[] // e.g. ['exam-practice', 'issue:MyVC'] routes: ModuleRoute[] // routes this module contributes } interface ModuleContext { getCredentials: (types: string[]) => Promise<VerifiableCredential[]> storeCredential: (vc: VerifiableCredential) => Promise<void> pushInboxItem: (item: InboxItem) => void requestBiometric: (reason: string) => Promise<boolean> navigate: (path: string) => void storage: ModuleStorage // key-value, namespaced to module ID llm: LlmHandle // on-device Gemma 2B via WebGPU }
What the Platform Gives You
Identity
User's DID, credential vault, WebAuthn biometric auth. You never manage keys.
Credentials
Read from vault, write to vault, gate access by credential type. W3C Verifiable Credentials.
On-device LLM
Gemma 2B runs locally via WebGPU. Contextual help, Q&A, document analysis. No data leaves the device.
Storage
Namespaced key-value store. Your data is isolated from other modules. Persists across sessions.
Inbox
Push notifications, action items, and warnings to the user's home screen. Priority-sorted.
Distribution
Your module is available to every Attestto user. PWA on mobile, Station on desktop. No app store needed.
Unsolved problems waiting for builders
Each card is a real problem affecting real people. Full specs are written. You build the module, you earn a revenue share on every transaction your module generates.
HealthOS
Citizens entitled to universal healthcare can't navigate appointments, medication rights, or disability appeals. Health literacy tools with on-device LLM guidance.
NotarialOS
Notaries must file digital indices by law, but current processes involve hundreds of manual field entries per cycle. Automate submission with credential-backed identity.
FinancialInclusion
Most people sign credit contracts without understanding the real cost of debt. Build financial literacy paths, calculators, and contract analysis tools.
MigrationOS
Migrants spend thousands on lawyers for processes that are largely deterministic. Build status trackers, rights guides, and document navigators.
CreditOS
People with consistent income are invisible to credit bureaus. Build privacy-preserving credit profiles from verifiable credential history.
LaborMarketOS
Labor markets fragmented across informal channels. Professional certifications exist on paper only. Build verified job matching with credential-backed track records.
CrossBorderOS
Remittance corridors charge high fees while credentials don't cross borders. Build portable identity for cross-border verification and low-cost settlement.
CreatorOS
Content creators keep a fraction of their earnings. No portable identity, no piracy protection, no credit access. Build sovereign creator identity.
HumanitarianKit
Displaced persons arrive with zero documents. No institutional backing. Build crisis identity bootstrap using community attestation and mesh networking.
RealEstateOS
Property buyers lose patrimony through regulatory traps, hidden liens, and environmental restrictions. Build credential-backed due diligence tools.
DataEconomyOS
User behavioral data has value but can't be monetized without violating privacy. Build privacy-preserving data aggregation where users control and benefit.
PartnerConnect
Identity-verified users are high-value leads for financial services. No consent-based referral channel exists. Build the bridge.
From zero to module in 5 minutes
Clone the repo
git clone https://github.com/Attestto-com/attestto-app
Install dependencies
pnpm install
Copy the reference module
cp -r modules/cr-driving modules/my-module
Run the dev server
pnpm --filter @attestto/app dev
The full stack
attestto-app
Sovereign wallet PWA. Vue 3 + Quasar. Where modules run.
PWAattestto-desktop
Station. Electron desktop app. Vault, signer, verifier, mesh node.
Desktopattestto-verify
Web component. Drop-in PDF/cert verification against national PKI roots.
Webattestto-mesh
P2P network. libp2p, DHT, gossip, relay. Decentralized verification.
Infraattestto-trust
Multi-country PKI trust store. Independent public mirror of national CAs.
Infracr-vc-sdk
Issue and verify Costa Rica credentials. TypeScript.
SDKcr-vc-schemas
JSON-LD schemas for CR credential types. The vocabulary.
SDKid-wallet-adapter
Wallet identity resolution. Connect DIDs to wallets.
SDKdid-sns-spec
did:sns DID method. Resolve identifiers via Solana Name Service. W3C track.
Spec