Skip to main content
ERGO
  • Docs
  • Blog
Get Wallet
PLATFORM
TechnologyUse CasesEcosystemWallets
DEVELOPERS
DocumentationLearnGitHubGrants
COMMUNITY
BlogDiscordTelegramTwitter

© 2025 ERGO PLATFORM. ALL RIGHTS RESERVED.

ERGO IS AN OPEN-SOURCE PROJECT. CONTRIBUTE ON GITHUB

Technology
ErgoScript

ErgoScript

Mathematical-by-design smart contracts on an eUTXO ledger

No shared global state, first-class Sigma protocols, verifiable execution. Build secure applications that are predictable by design.

Quick Start

Try Online Playground

Write and test ErgoScript in your browser

Read Documentation

Comprehensive guides and API references

Join Community

Get help from experienced developers

Key Features

Formal Verification Support

Supports formal verification and auditability via declarative constraints and first-class crypto primitives

eUTXO Security Model

The class of reentrancy vulnerabilities common to account-based systems is absent in eUTXO

Deterministic Execution

Computational complexity is predictable, though network fees are market-driven

Native Sigma Protocols

First-class support for multi-signature, threshold, and ring-signature constructions

UTXO Concurrency

Parallel transaction processing with batcher patterns for high-contention scenarios

Restricted Computation

Non-Turing-complete within scripts for safety, yet sequences can express complex behaviors

Security First

Built from the ground up with security as the primary concern, eliminating entire classes of vulnerabilities.

Formal Verification Support

Declarative constraints enable external verification tools and auditing

eUTXO Security Model

No shared global state eliminates reentrancy vulnerability class

Native Sigma Protocols

First-class cryptographic primitives for multi-party signatures

Developer Experience

Designed for clarity and ease of use, making complex cryptographic operations accessible to all developers.

Interactive Playground

Test contracts instantly in your browser without setup

Rich Tooling Ecosystem

SDKs for Java, JavaScript, Python, and more

Extensive Examples

Learn from production-ready contract templates

How ErgoScript Compares

ErgoScript's Key Advantages

Built from the ground up with security and mathematical precision as core principles.

eUTXO – Extended Bitcoin Model

Like Bitcoin Script, works with outputs, not accounts. Unlike BTC, scripts are much more powerful for DeFi, DAO, and complex contracts.

No Shared State, No Global Variables

Eliminates the reentrancy vulnerability class; mitigates some MEV patterns, but does not fully prevent frontrunning.

Cryptography-first Design

Sigma protocols and zero-knowledge proofs are native. No need for external libraries or complex implementations.

Predictable Execution Costs

Script execution cost is statically bounded; the final network fee is still market-driven (mempool conditions).

Philosophy & Design

ErgoScript's design philosophy prioritizes safety, predictability, and mathematical rigor.

Restricted Computation

Intentionally limited to prevent infinite loops and ensure all contracts terminate predictably.

Declarative Scripting

Express what you want to achieve rather than how to achieve it. More readable and less error-prone.

"Crypto Notepad"

Think of contracts as mathematical proofs rather than imperative programs. Safer and more verifiable.

Mathematical Verification

Formal methods and mathematical proofs ensure your contracts work exactly as intended.

ErgoScript vs. Other Smart Contract Languages
Language comparison
FeatureErgoScript (Ergo)Solidity (Ethereum)Plutus (Cardano)Bitcoin ScriptMove (Aptos/Sui)
Platform TypeeUTXOAccount-based (EVM)eUTXOUTXOAccount-based
Language BaseSigma-based (Scala-like)JS/C++-likeHaskell, DSLForth-like, stack-basedRust-like
Turing-completeNo (restricted for security)Yes (with gas limits)No (highly restricted)NoYes
Type SafetyStrong typing systemGood, but pitfalls remainVery high (Haskell-based)Simple but safeVery high (Rust-based)
SecurityHigh (no reentrancy, no shared state)Complex (reentrancy, overflows)Very high (strong types)Very high (minimal features)Above average
Custom CryptographyNative Sigma protocolsExternal librariesLimited supportMinimalModerate
Formal VerificationStrong supportExternal toolsStrong supportLimitedModerate
Learning CurveGentleSteepVery steepSimple but limitedModerate
Transaction CostsPredictable, lowVariable, can be highPredictable, moderateLow, simpleLow, predictable
ErgoScript advantages
Strong features
Moderate capabilities
Limitations

Comprehensive comparison of smart contract languages including platform types, language bases, security features, and development characteristics.

Code Comparison: 2-of-3 Multisig

See how ErgoScript's mathematical approach compares to traditional smart contracts

ErgoScript

atLeast(2, Coll( proveDlog(A), proveDlog(B), proveDlog(C) ))

Mathematical proof: "At least 2 of these 3 signatures must be valid"

Solidity

require(validSignatures >= 2, "Need 2+ sigs");
for (uint i = 0; i < signers.length; i++) {
  if (verify(signers[i], signature[i])) {
    validSignatures++;
  }
}

Imperative logic with loops, state variables, and manual validation

Frequently Asked Questions

What's Next?

Continue your ErgoScript development journey

Try Playground

Interactive Editor

Experiment with ErgoScript in our interactive online playground

View Documentation

Learn More

Explore comprehensive guides and tutorials for ErgoScript development