Want the tl;dr on our Q3 Engineering Report? What actually shipped, and where the stack stands after 130 merged PRs, 673 commits, and 58 releases across 13 repos?
Look no further. Here’s the summary, organized around the 3 technical pillars 🧵↓
Safe infrastructure for real money
Deposit refunds close the last gap in emergency withdrawals. Once an app is foreclosed, anyone can refund unfinalized ETH, ERC-20, ERC-721, and ERC-1155 deposits to the people who made them.
Claims got stricter too. A claim now has to prove the machine finished its epoch normally. A state that halted, threw an exception, or rejected its last input can’t be finalized.
Dave (PRT) added claim staging and harder-to-game bond recovery. The Sling node is now the first operational PRT validator, in testing on the way out of alpha.
Economical computation at scale
Cartesi Machine v0.21.0 makes every input end in a provable outcome, even when the app crashes. Rejected inputs revert to the previous state. Inputs that run out of cycles stop in a fixed state. The emulator and the onchain step apply the same rules.
Apps can now keep state in NVRAM across inputs, which makes carrying state from one input to the next cheaper.
The sequencer shipped a fee oracle that ties user fees to L1 posting costs. It’s priced from a Uniswap V3 TWAP to limit manipulation. Next stop: a live testnet.
Easy stack for shipping onchain in a day
The rollups node moved to emulator v0.21 on its dev branch. It gained JSON-RPC batch requests and now runs every service under one supervisor, with clear health signals for Kubernetes.
The TypeScript libraries now use generated bindings, replacing about 1,800 lines of hand-written wrappers. And cartesi/machine runs a Cartesi Machine from Node.js, or right in a browser tab.
Next up: a coordinated public release of node, SDK, CLI, and explorer release that ships all of this to builders.
For the bigger picture behind these pillars, check out our Technical Plan:
https://cartesi.io/technical-plan/
Look no further. Here’s the summary, organized around the 3 technical pillars 🧵↓
Safe infrastructure for real money
Deposit refunds close the last gap in emergency withdrawals. Once an app is foreclosed, anyone can refund unfinalized ETH, ERC-20, ERC-721, and ERC-1155 deposits to the people who made them.
Claims got stricter too. A claim now has to prove the machine finished its epoch normally. A state that halted, threw an exception, or rejected its last input can’t be finalized.
Dave (PRT) added claim staging and harder-to-game bond recovery. The Sling node is now the first operational PRT validator, in testing on the way out of alpha.
Economical computation at scale
Cartesi Machine v0.21.0 makes every input end in a provable outcome, even when the app crashes. Rejected inputs revert to the previous state. Inputs that run out of cycles stop in a fixed state. The emulator and the onchain step apply the same rules.
Apps can now keep state in NVRAM across inputs, which makes carrying state from one input to the next cheaper.
The sequencer shipped a fee oracle that ties user fees to L1 posting costs. It’s priced from a Uniswap V3 TWAP to limit manipulation. Next stop: a live testnet.
Easy stack for shipping onchain in a day
The rollups node moved to emulator v0.21 on its dev branch. It gained JSON-RPC batch requests and now runs every service under one supervisor, with clear health signals for Kubernetes.
The TypeScript libraries now use generated bindings, replacing about 1,800 lines of hand-written wrappers. And cartesi/machine runs a Cartesi Machine from Node.js, or right in a browser tab.
Next up: a coordinated public release of node, SDK, CLI, and explorer release that ships all of this to builders.
For the bigger picture behind these pillars, check out our Technical Plan:
https://cartesi.io/technical-plan/
