Bring Your JavaScript skills. We’ll Handle the Blockchain part
We are bringing real JavaScript to web3. Help us get it right.
1,100 words, 6 minute read

You already know JavaScript— you’ve built web apps, deployed serverless functions, and worked with APIs.
Now imagine taking those skills and building apps that tap directly into the economic network and vibrant community of web3. All without learning a new language or leaving your tech stack comfort zone. Just pure JavaScript as you know it.
In a time of AI fakes, security breaches, and information wars, it becomes increasingly relevant to provide transparency, verifiability, censorship resistance, and decentralized security in everyday applications.
Blockchains offer these properties but have so far been challenging to build on because of the need to learn new languages and unfamiliar tooling.
This is why we are developing Jstz (pronounced “justice”). It’s a native JavaScript runtime running on Tezos Smart Rollup technology, which means you won’t have to worry about scalability or centralized actors having control.
Jstz removes the steep learning curve associated with blockchain development by letting you use the language, tools, and libraries you already know from Web2 — like standard JavaScript syntax and npm modules.
Developed for (and with) you! #
We’re building Jstz for developers like you – and right now we need your feedback.
Jstz is currently an experimental sandbox environment. It’s a playground where JavaScript developers can safely try out decentralized logic, test ideas, and interact with Tezos smart rollups using standard JavaScript and familiar tools.
As we move Jstz towards a production-ready solution, we want to be sure that it’s something JS developers actually love to use. You can help us with two simple steps:
Try out Jstz (see below)
Take our Developer Experience Survey. It only takes a few minutes, and you can help shape Jstz from the ground up.
Currently with Jstz, you can:
Write JavaScript smart functions using standard syntax. Think of them as lightweight smart contracts.
Deploy and store smart functions on your local sandbox without compilation or transpilation.
Interact with smart functions using familiar tools like the CLI or client SDK
Use your favourite npm libraries to accelerate your workflow
Getting started #
Here’s how to get up and running.
Start the sandbox with jstz sandbox --container start
Create a new user account with an alias (why not your name?)
Transfer funds between preloaded bootstrap accounts
Deploy and call your first smart function locally: you’ll find a get-tez example in our Getting Started guide.
If you’re curious to explore more, we recommend these examples from the GitHub repo:
Show-tez - A simple CLI app that lets you send messages to a smart function and view your message history stored in its key-value store. Just type a message (like “Can I have some tez?”) and hit enter — or type show to display all messages you’ve previously sent. Perfect for testing stateful interactions and seeing how smart functions can persist user-specific data.
counter - A simple stateful smart function that acts as a counter API. It stores a number in the Jstz key-value storage. Perfect for learning how to work with persistent storage, routes, and user-specific requests in a smart function.
dashboard - An interactive web dashboard built with React that lets you create users, log in, deploy smart functions, and run them — all from a simple UI. It connects to your local Jstz sandbox and gives you a visual way to experiment with the runtime without needing the CLI. Great for testing flows and seeing how smart functions behave in real time.
These give you a feel for smart functions, state handling, and JavaScript execution inside the Jstz environment.
Now let’s look into the technical setup.
Architecture and Key Features #
Jstz: CLI Tooling
The jstz command-line interface lets you initialize projects, deploy smart functions, manage storage, and interact with the runtime.
jstzd: The Heart of the Jstz Sandbox
To make development easy and self-contained, Jstz comes with a local orchestration daemon called jstzd. This background service automatically spins up and manages everything you need to run the Jstz runtime locally — including the Tezos Smart Rollup infrastructure.
Think of jstzd as the sandbox engine that brings all the moving parts together, so you can focus on building smart functions without worrying about manual configuration or dependencies.
When you run jstzd, it sets up and manages:
Fast transaction processing and quick confirmation times, so you get feedback almost instantly.
Built-in test accounts with preloaded funds to help you start coding and testing right away.
A ready-to-use bridge for moving tokens, no setup required (more on asset bridge below)
One simple config file shared across tools (jstz CLI and octez, the CLI tooling of Tezos) so setup is consistent and easy.
It handles communication with the Jstz node and Tezos Smart Rollup (octez) infrastructure — all automatically.
Accounts #
Jstz introduces a simple and flexible account system that supports two key types of accounts:
User Accounts (tz1…)
These are traditional accounts that hold tez (XTZ) and are used to initiate function calls, sign operations, and manage balances. Think of these as the developer or end-user identities.
⚠️ Important: Jstz does not yet support wallets, hardware devices, or remote signers — everything is managed locally, with wallet support planned as part of the upcoming roadmap.
Smart Function Accounts (KT1…)
These accounts are created automatically when a smart function is deployed. They store both tez and the immutable code of the smart function. These accounts are immutable — the function code and balance cannot be modified after deployment. However, they can hold and receive tez and be called by user accounts.
Asset bridge #
Jstz includes an experimental asset bridge that allows developers to simulate token transfers between Tezos Layer 1 addresses and Jstz Layer 2 accounts — all within a sandbox environment.
While this feature doesn’t move real assets on the Tezos testnet, it mimics how a future bridge could work and provides a valuable playground for developers to test asset-related logic.
Ready to Explore? #
Install Jstz, launch the sandbox, and build something useful, or just fun. We can’t wait to see what you create — and hear what you think!
👉 Don’t forget to take our Developer Experience Survey. Your feedback helps shape Jstz.
As a token of our gratitude, the first developers to complete the survey and provide their Tezos wallet address will receive an exclusive Jstz OG NFT.
Other useful links #
Want to explore more or contribute to building Jstz? Here are some helpful resources to get you going:
Jstz Client SDK on npm: @jstz-dev/jstz-client
Client SDK API Reference: API Documentation
Contributing Guide: How to Contribute to Jstz
Jstz GitHub Organization: github.com/jstz-dev