Skip to Content
Scalus Club is now open! Join us to get an early access to new features πŸŽ‰
DocumentationMultiplatform

Multiplatform Support

Scalus compiles to JVM, JavaScript/Typescript, and Native from the same Scala 3 codebase. Write once, deploy anywhere β€” from server-side backends to browser wallets to CLI tools.

Platform Support Matrix

ModuleJVMJS/TSNativeDescription
scalus-coreβœ“βœ“βœ“Plutus VM, UPLC, SIR compiler, standard library
scalus-cardano-ledgerβœ“βœ“β€”Transaction builder, ledger rules, Emulator
scalus-testkitβœ“βœ“β€”Testing utilities

When to Use Which Platform

JVM β€” Full DApp Development

The JVM platform provides the complete Scalus stack:

  • Smart contract development with the compiler plugin (Scala 3)
  • Transaction building with TxBuilder
  • Local testing with Emulator and Yaci DevKit
  • Integration with Bloxbean Cardano Client Library
  • Production backends with mature JVM ecosystem

Best for: Backend services, full DApp development, integration testing, production deployments.

JavaScript/Typescript β€” Offchain & Browser

JavaScript/Typescript enables Scalus in Node.js and browser environments:

  • Script evaluation β€” Run Plutus V1/V2/V3 scripts
  • Transaction building β€” Construct and sign transactions
  • Wallet integration β€” Works with Lucid Evolution
  • Cost estimation β€” Calculate execution units offchain
  • Browser DApps β€” Full offchain logic in the browser

See the scalus npm package for JavaScript/TypeScript API, installation, and usage examples.

Best for: Browser wallets, Node.js tooling, Lucid-based DApps, offchain computation.

Native β€” CLI & Embedded

Scala Native compiles to native binaries:

  • Fast startup β€” No JVM warmup
  • Small footprint β€” Standalone executables
  • System integration β€” FFI to C libraries

Best for: CLI tools, embedded systems, static libraries.

Get in Touch

Building a JavaScript/TypeScript or Native integration? We’re actively looking for feedback and early adopters. Open an issueΒ  or reach out β€” we’d love to help with your integration.

Feature Availability

FeatureJVMJS/TSNative
Plutus script executionβœ“βœ“βœ“
SIR compilationβœ“βœ“βœ“
Transaction buildingβœ“βœ“β€”
Emulatorβœ“βœ“β€”
Ledger rules validationβœ“βœ“β€”
Yaci DevKit integrationβœ“β€”β€”
Compiler pluginβœ“β€”β€”
Ed25519 signaturesβœ“βœ“βœ“
ECDSA secp256k1βœ“βœ“βœ“
Schnorr signaturesβœ“βœ“βœ“
BLS12-381βœ“βœ“βœ“

See Also

Last updated on