The Leo Programming Language
Write formally verified, zero-knowledge applications with a statically-typed language that compiles to Aleo bytecode. Build privacy-preserving dApps with the power of zk-SNARKs.
Quick start
Get up and running with Leo in minutes
Create a new project
Build and run your program
Explore by topic
Deep dive into Leo’s features and capabilities
Leo Language
CLI Commands
Records & Storage
Testing
Compiler Architecture
Examples
Key features
Formally verified programs
Leo compiles to zero-knowledge circuits, ensuring your programs are cryptographically sound and verifiable.
Privacy by default
Build applications with private state and selective disclosure using records and finalize blocks.
Familiar syntax
Leo’s syntax draws from Rust, JavaScript, and Scala, making it accessible for developers from various backgrounds.
Complete toolchain
From project scaffolding to deployment, Leo provides all the tools you need for the full development lifecycle.
Resources
Join the community
Contribute to Leo
Troubleshooting
ABNF Grammar
Ready to build on Aleo?
Start building privacy-preserving applications with Leo today. Follow our quickstart guide to create your first zero-knowledge program.
Get Started