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
| Module | JVM | JS/TS | Native | Description |
|---|---|---|---|---|
| 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
| Feature | JVM | JS/TS | Native |
|---|---|---|---|
| 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
- Getting Started β Set up JVM development environment
- Emulator β In-memory testing (JVM/JS)
- Transaction Builder β Build transactions (JVM/JS)
- Local Devnet β Integration testing (JVM only)