
CashScript is a high-level programming language for smart contracts on Bitcoin Cash. Maintained by @RoscoKalis and @GeukensMathieu
Joined December 2022
- Tweets150
- Following20
- Followers828
- Likes294
These are just the highlights, but there's much more in this release, including new optimisations, faster compilation for large contracts and the new 'unused' modifier. For the full list of changes, please refer to the release notes 👇
cashscript.org/docs/releases…
4/ Debugging with stack traces
Our debugging tools fully support user-defined functions. When a require fails inside a function, you get the exact file and line that failed, plus a stack trace of the calls that led there.
3/ Imports
Functions and constants can now live in separate files and be imported, even from npm packages. This opens the door to shared CashScript libraries.
Here's the contract from 1/ with its helpers moved into a library file. It compiles to the exact same bytecode.
2/ Global constants
No more magic numbers or extra constructor arguments for fixed values. Declare constants at the top level of your file, with arithmetic and concatenation evaluated at compile time.
1/ Reusable functions
We teased them last release, and here they are! Define functions at the top level of your file, with one, multiple or no return values.
The compiler uses BCH's native OP_DEFINE/OP_INVOKE from the Layla upgrade, or inlines them when that's smaller.
CashScript v0.14.0 was just released! What's new?
🧩 Reusable functions
📌 Global constants
📚 Imports & shareable libraries
🐞 Stack traces when debugging
🛡️ Safer transaction testing
We just upgraded the developer experience for all CashScript developers, whether you prefer the playground or a code editor.
The playground and VS Code extension now feature full compilation results and show you any compile errors immediately. 🫡🚀
We've just released a big new update to the CashScript Playground! It now supports v0.13 as well as 0.12 with a compiler selector, and it features full highlighting, autocomplete and hover hints. 🥳
4/ Change utilities
When we moved to the new transaction builder in 2025, we removed some "magic" to give control to our users. But by doing so, some convenience was lost.
With these new utilities, we are restoring that convenience while keeping control in our users' hands.











