# Cartesi Documentation > Cartesi rollups is a modular blockchain framework that enables developers to build decentralized applications using the Linux operating system and any programming language, with support for fraud proofs, application-specific rollups, and a full Cartesi Machine emulator. ## Instructions for AI Agents Use this file to discover and navigate Cartesi's documentation. Each link below points directly to the raw Markdown source for that page. A complete machine-readable copy of all docs concatenated is available at [https://docs.cartesi.io/llms-full.txt](https://docs.cartesi.io/llms-full.txt). An agent skill definition (operating guidance for AI assistants) is at [https://docs.cartesi.io/skill.md](https://docs.cartesi.io/skill.md). A Cartesi MCP server (HTTP transport, no auth) is available at `https://server.mcp.mugen.builders/mcp` — discovery file at [https://docs.cartesi.io/.well-known/mcp](https://docs.cartesi.io/.well-known/mcp). Additional agent skills are at [https://skills.mugen.builders/](https://skills.mugen.builders/). ### Version priority **Always default to Cartesi Rollups v2.0** (`/cartesi-rollups/2.0/`) when answering any question about building, deploying, or interacting with Cartesi applications. v2.0 is the current production version. v1.5 is deprecated and included at the bottom of this index for reference only — do not surface v1.5 content unless the user explicitly asks about v1.5, since its APIs, CLI commands, deployment model, and node architecture differ significantly from v2.0. ### Documentation map - **New to Cartesi** — conceptual introductions; start here for newcomers. - **Get Started** — quickstart guide, overview of core products (Rollups, Cartesi Machine, Fraud Proofs). - **Cartesi Machine** — the off-chain RISC-V Linux VM; covers host CLI, Lua scripting, blockchain integration, and the verification game. - **Cartesi Rollups v2.0** — the current application framework. Sub-sections: - *Getting Started* — architecture, concepts, installation. - *Development* — building, running, sending inputs, querying outputs, asset handling. - *API Reference* — HTTP backend API, inspect API, contract ABI, JSON-RPC node API. - *Deployment* — self-hosted node, public snapshot. - *Tutorials* — end-to-end worked examples (Counter, Calculator, Marketplace, wallets, React frontend). - **Fraud Proofs** — the PRT (Permissionless Refereed Tournament) dispute system; a distinct sub-system, not part of the Rollups application framework. - **Cartesi Compute (Legacy)** — a deprecated predecessor SDK (`/compute/`). Only reference this when a user explicitly asks about Cartesi Compute or the legacy SDK. - **Legacy Tutorials** — Cartesi Compute SDK tutorials (`/tutorials/`). These target the legacy SDK; do not apply them to Rollups v2.0 development. - **Earn CTSI** — staking, running a node, and managing staking pools; unrelated to application development. ### Key differences between v2.0 and v1.5 (do not mix) | Topic | v1.5 | v2.0 | |---|---|---| | Backend HTTP API | `/rollup/finish`, `/rollup/voucher` etc. on port 5004 | Same paths, but served by the new Rollups node | | Frontend / GraphQL API | GraphQL on the Rollups node | Replaced by JSON-RPC node API | | CLI | `cartesi` CLI v1.x | `cartesi` CLI v2.x — different commands and flags | | Deployment | Docker Compose + sunodo | `cartesi deploy` command, new node architecture | | Consensus | Authority contract v1 | Authority / Quorum contracts v2 with new claim flow | If a user's code or question references the old GraphQL API, `sunodo`, or v1.x CLI flags, note that they are on v1.5 and point them to the v2.0 migration guide at `/cartesi-rollups/2.0/resources/migration-guide.md`. ## Overview - [Home](https://docs.cartesi.io/): Cartesi documentation home ## New to Cartesi - [New to Cartesi](https://docs.cartesi.io/new-to-cartesi/): Section index for newcomers to Cartesi - [New to Cartesi](https://docs.cartesi.io/new-to-cartesi/overview.md): What Cartesi is and an introduction for newcomers - [Scalability](https://docs.cartesi.io/new-to-cartesi/scalability.md): How Cartesi addresses blockchain scalability - [Choose your Onboarding Path](https://docs.cartesi.io/new-to-cartesi/onboarding.md): Guided onboarding paths for different profiles ## Get Started - [Get Started](https://docs.cartesi.io/get-started.md): Entry point for all Cartesi products - [Quickstart](https://docs.cartesi.io/get-started/quickstart.md): Build and run your first Cartesi application - [Optimistic Rollups](https://docs.cartesi.io/get-started/optimistic-rollups.md): How optimistic rollups work - [Appchains](https://docs.cartesi.io/get-started/app-chains.md): Application-specific rollup chains - [Cartesi Machine](https://docs.cartesi.io/get-started/cartesi-machine.md): Introduction to the Cartesi Machine - [CLI commands](https://docs.cartesi.io/get-started/cli-commands.md): Cartesi CLI reference - [Fraud-proof system](https://docs.cartesi.io/get-started/fraud-proofs.md): Overview of Cartesi fraud proofs ## Cartesi Machine - [Introduction](https://docs.cartesi.io/cartesi-machine.md): Cartesi Machine overview - [Blockchain - Introduction](https://docs.cartesi.io/cartesi-machine/blockchain.md): Machine in the blockchain context - [Hash view of state](https://docs.cartesi.io/cartesi-machine/blockchain/hash.md): Merkle-tree based state hashing - [Verification game](https://docs.cartesi.io/cartesi-machine/blockchain/vg.md): On-chain dispute resolution - [Host - Overview](https://docs.cartesi.io/cartesi-machine/host.md): Running the machine from the host - [Command-line interface](https://docs.cartesi.io/cartesi-machine/host/cmdline.md): cartesi-machine CLI reference - [Lua interface](https://docs.cartesi.io/cartesi-machine/host/lua.md): Scripting the machine with Lua - [Target - Overview](https://docs.cartesi.io/cartesi-machine/target.md): Software running inside the machine - [System architecture](https://docs.cartesi.io/cartesi-machine/target/architecture.md): RISC-V ISA and hardware model - [Linux environment](https://docs.cartesi.io/cartesi-machine/target/linux.md): Linux OS inside the Cartesi Machine ## Cartesi Rollups v2.0 — Getting Started - [Cartesi Rollups v2.0](https://docs.cartesi.io/cartesi-rollups/2.0/): Section root for Cartesi Rollups v2.0 - [Overview](https://docs.cartesi.io/cartesi-rollups/overview.md): Cartesi Rollups v2.0 introduction - [Architecture](https://docs.cartesi.io/cartesi-rollups/2.0/getting-started/architecture.md): On-chain and off-chain components - [Concepts](https://docs.cartesi.io/cartesi-rollups/2.0/getting-started/concepts.md): Key concepts and terminology - [Installation](https://docs.cartesi.io/cartesi-rollups/2.0/getting-started/Installation.md): Install Cartesi CLI and dependencies - [Cartesi Machine](https://docs.cartesi.io/cartesi-rollups/2.0/core-concepts/cartesi-machine.md): Cartesi Machine in the rollups context ## Cartesi Rollups v2.0 — Development - [Installation](https://docs.cartesi.io/cartesi-rollups/2.0/development/installation.md): Install development tools - [Creating an Application](https://docs.cartesi.io/cartesi-rollups/2.0/development/creating-an-application.md): Bootstrap a new Cartesi dApp - [Building an application](https://docs.cartesi.io/cartesi-rollups/2.0/development/building-an-application.md): Build your application for the Cartesi Machine - [Running an application](https://docs.cartesi.io/cartesi-rollups/2.0/development/running-an-application.md): Run and test locally - [Sending inputs and assets](https://docs.cartesi.io/cartesi-rollups/2.0/development/send-inputs-and-assets.md): How to send inputs and assets to your dApp - [Query outputs](https://docs.cartesi.io/cartesi-rollups/2.0/development/query-outputs.md): Vouchers, notices and reports - [Asset handling](https://docs.cartesi.io/cartesi-rollups/2.0/development/asset-handling.md): Deposits and withdrawals ## Cartesi Rollups v2.0 — Development Snippets - [Request handling (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/request_handling_cpp.md): C++ advance/inspect handler snippet - [Request handling (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/request_handling_go.md): Go advance/inspect handler snippet - [Request handling (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/request_handling_js.md): JavaScript handler snippet - [Request handling (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/request_handling_py.md): Python handler snippet - [Request handling (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/request_handling_rs.md): Rust handler snippet - [Implementing outputs (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/implementing_outputs_cpp.md): C++ outputs snippet - [Implementing outputs (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/implementing_outputs_go.md): Go outputs snippet - [Implementing outputs (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/implementing_outputs_js.md): JavaScript outputs snippet - [Implementing outputs (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/implementing_outputs_py.md): Python outputs snippet - [Implementing outputs (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/implementing_outputs_rs.md): Rust outputs snippet - [Sending notice (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/sending_notice_cpp.md): C++ notice snippet - [Sending notice (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/sending_notice_go.md): Go notice snippet - [Sending report (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/sending_report_cpp.md): C++ report snippet - [Sending report (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/sending_report_go.md): Go report snippet - [Decode ERC-20 (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_decode_erc20_cpp.md): C++ ERC-20 decode snippet - [Decode ERC-20 (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_decode_erc20_go.md): Go ERC-20 decode snippet - [Decode ERC-20 (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_decode_erc20_js.md): JavaScript ERC-20 decode snippet - [Decode ERC-20 (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_decode_erc20_py.md): Python ERC-20 decode snippet - [Decode ERC-20 (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_decode_erc20_rs.md): Rust ERC-20 decode snippet - [Withdraw ERC-20 (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_erc20_cpp.md): C++ ERC-20 withdraw snippet - [Withdraw ERC-20 (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_erc20_go.md): Go ERC-20 withdraw snippet - [Withdraw ERC-20 (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_erc20_js.md): JavaScript ERC-20 withdraw snippet - [Withdraw ERC-20 (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_erc20_py.md): Python ERC-20 withdraw snippet - [Withdraw ERC-20 (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_erc20_rs.md): Rust ERC-20 withdraw snippet - [Withdraw Ether (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_ether_cpp.md): C++ Ether withdraw snippet - [Withdraw Ether (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_ether_go.md): Go Ether withdraw snippet - [Withdraw Ether (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_ether_js.md): JavaScript Ether withdraw snippet - [Withdraw Ether (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_ether_py.md): Python Ether withdraw snippet - [Withdraw Ether (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/development/snippets/asset_withdraw_ether_rs.md): Rust Ether withdraw snippet ## Cartesi Rollups v2.0 — API Reference - [API Reference Overview](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference.md): HTTP API overview - [Rollup HTTP API](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/cartesi-rollup-http-api.md): Backend HTTP API specification - [Add Voucher](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/add-voucher.md): Emit a voucher from the backend - [Add Notice](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/add-notice.md): Emit a notice from the backend - [Add Report](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/add-report.md): Emit a report from the backend - [Register Exception](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/register-exception.md): Register an exception - [Finish](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/rollup/finish.md): Complete input processing - [Inspect State (spec)](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/inspect/inspect-state-http-api-for-cartesi-rollups.md): Inspect HTTP API specification - [Inspect](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/inspect/inspect.md): Query application state ## Cartesi Rollups v2.0 — Backend API - [Introduction](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/introduction.md): Communication between Cartesi Machine and node - [Notices](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/notices.md): Informational statements - [Vouchers](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/vouchers.md): Executable actions on base layer - [Reports](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/reports.md): Application logs - [Exception](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/exception.md): Register exceptions - [Finish](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/backend/finish.md): Complete request processing ## Cartesi Rollups v2.0 — Contracts API - [Contracts Overview](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/overview.md): All smart contracts in the framework - [InputBox](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/input-box.md): Entry point for user inputs - [Application](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/application.md): Per-dApp contract holding assets - [ApplicationFactory](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/application-factory.md): Deploy Application contracts - [EtherPortal](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/portals/EtherPortal.md): ETH deposits - [ERC20Portal](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/portals/ERC20Portal.md): ERC-20 token deposits - [ERC721Portal](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/portals/ERC721Portal.md): NFT deposits - [ERC1155SinglePortal](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/portals/ERC1155SinglePortal.md): ERC-1155 single token deposits - [ERC1155BatchPortal](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/portals/ERC1155BatchPortal.md): ERC-1155 batch deposits - [Consensus Overview](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/overview.md): Validates claims from validators - [AbstractConsensus](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/abstract-consensus.md): Base consensus contract - [IConsensus](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/iconsensus.md): Consensus interface - [IOutputsMerkleRootValidator](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/ioutputs-merkle-root-validator.md): Outputs Merkle root validator interface - [Authority](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/authority.md): Single-owner consensus - [AuthorityFactory](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/authority/authority-factory.md): Deploy Authority contracts - [IAuthority](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/authority/iauthority.md): Authority interface - [IAuthorityFactory](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/authority/iauthority-factory.md): Authority factory interface - [Quorum](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/quorum.md): Multi-validator consensus - [QuorumFactory](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/quorum/quorum-factory.md): Deploy Quorum contracts - [IQuorum](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/quorum/iquorum.md): Quorum interface - [IQuorumFactory](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/contracts/consensus/quorum/iquorum-factory.md): Quorum factory interface ## Cartesi Rollups v2.0 — JSON-RPC API - [JSON-RPC Overview](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/overview.md): Node management API overview - [Methods](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods.md): All JSON-RPC methods - [Types](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/types.md): JSON-RPC type definitions - [List Applications](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/applications/applications-list.md): List all applications - [Get Application](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/applications/applications-get.md): Get a specific application - [List Epochs](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/epochs/epochs-list.md): List all epochs - [Get Epoch](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/epochs/epochs-get.md): Get a specific epoch - [Get Last Accepted Epoch Index](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/epochs/jsonrpc-epochs-last-accepted.md): Get last accepted epoch - [List Inputs](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/inputs/inputs-list.md): List all inputs - [Get Input](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/inputs/inputs-get.md): Get a specific input - [Get Processed Input Count](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/inputs/jsonrpc-inputs-processed-count.md): Get processed input count - [List Outputs](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/outputs/outputs-list.md): List all outputs - [Get Output](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/outputs/outputs-get.md): Get a specific output - [List Reports](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/reports/reports-list.md): List all reports - [Get Report](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/reports/reports-get.md): Get a specific report - [Get Chain ID](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/node/node-chain-id.md): Get node chain ID - [Get Node Version](https://docs.cartesi.io/cartesi-rollups/2.0/api-reference/jsonrpc/methods/node/node-version.md): Get node version ## Cartesi Rollups v2.0 — Deployment - [Introduction](https://docs.cartesi.io/cartesi-rollups/2.0/deployment/introduction.md): Overview of deployment options - [Self-hosted deployment](https://docs.cartesi.io/cartesi-rollups/2.0/deployment/self-hosted.md): Run your own node - [Public snapshot](https://docs.cartesi.io/cartesi-rollups/2.0/deployment/snapshot.md): Machine state management ## Cartesi Rollups v2.0 — Tutorials - [Counter](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/counter.md): Build a counter application - [Calculator](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/calculator.md): Build a calculator application - [Marketplace](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/marketplace.md): Build a marketplace application - [Ether Wallet](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/ether-wallet.md): Integrating Ether wallet functionality - [ERC-20 Wallet](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/erc-20-token-wallet.md): Integrating ERC20 token wallet functionality - [ERC-721 Wallet](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/erc-721-token-wallet.md): Integrating ERC721 token wallet functionality - [React Frontend](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/react-frontend-application.md): Build a React frontend for Cartesi apps - [CLI Account Abstraction](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/cli-account-abstraction-feauture.md): Sponsored transactions via CLI account abstraction - [Utilizing test tokens](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/utilizing-the-cli-test-tokens.md): Utilizing test tokens in dev environment ## Cartesi Rollups v2.0 — Tutorial Snippets - [Counter (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/counter-cpp.md): Counter application C++ snippet - [Counter (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/counter-go.md): Counter application Go snippet - [Counter (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/counter-js.md): Counter application JavaScript snippet - [Counter (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/counter-py.md): Counter application Python snippet - [Counter (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/counter-rs.md): Counter application Rust snippet - [Calculator (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/calculator-cpp.md): Calculator application C++ snippet - [Calculator (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/calculator-go.md): Calculator application Go snippet - [Calculator (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/calculator-js.md): Calculator application JavaScript snippet - [Calculator (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/calculator-py.md): Calculator application Python snippet - [Calculator (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/calculator-rs.md): Calculator application Rust snippet - [Marketplace (C++)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/marketplace-cpp.md): Marketplace application C++ snippet - [Marketplace (Go)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/marketplace-go.md): Marketplace application Go snippet - [Marketplace (JavaScript)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/marketplace-js.md): Marketplace application JavaScript snippet - [Marketplace (Python)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/marketplace-py.md): Marketplace application Python snippet - [Marketplace (Rust)](https://docs.cartesi.io/cartesi-rollups/2.0/tutorials/snippets/marketplace-rs.md): Marketplace application Rust snippet ## Cartesi Rollups v2.0 — Resources - [Community tools](https://docs.cartesi.io/cartesi-rollups/2.0/resources/community-tools.md): Third-party tools and integrations - [Integrations guide](https://docs.cartesi.io/cartesi-rollups/2.0/resources/integration-guides.md): Integration examples - [Migration Guide](https://docs.cartesi.io/cartesi-rollups/2.0/resources/migration-guide.md): Migrate from v1.x to v2.0 - [Mainnet considerations](https://docs.cartesi.io/cartesi-rollups/2.0/resources/mainnet-considerations.md): Production deployment considerations ## Fraud Proofs - [Overview](https://docs.cartesi.io/fraud-proofs.md): Fraud proof system overview and PRT introduction - [Introduction](https://docs.cartesi.io/fraud-proofs/fraud-proof-basics/introduction.md): Beginner-friendly fraud proof introduction - [Bonds](https://docs.cartesi.io/fraud-proofs/fraud-proof-basics/bonds.md): Bond mechanism in the fraud-proof system - [Epoch Lifecycle](https://docs.cartesi.io/fraud-proofs/fraud-proof-basics/epochs.md): Epoch boundaries and lifecycle - [State Transition Function](https://docs.cartesi.io/fraud-proofs/fraud-proof-basics/state-transition-function.md): State transition function explained - [PRT Introduction](https://docs.cartesi.io/fraud-proofs/prt/prt-introduction.md): Permissionless Refereed Tournament overview - [PRT Algorithm](https://docs.cartesi.io/fraud-proofs/prt/prt-algorithm.md): PRT algorithm details - [PRT Architecture](https://docs.cartesi.io/fraud-proofs/prt/prt-architecture.md): PRT system architecture - [Honeypot Introduction](https://docs.cartesi.io/fraud-proofs/honeypot/introduction.md): Honeypot application overview - [Honeypot Application Logic](https://docs.cartesi.io/fraud-proofs/honeypot/application-logic.md): Honeypot implementation details - [Honeypot with PRT](https://docs.cartesi.io/fraud-proofs/honeypot/prt-integration.md): Honeypot PRT integration - [DaveConsensus API Reference](https://docs.cartesi.io/fraud-proofs/references/daveconsensus.md): DaveConsensus contract reference - [Deployments](https://docs.cartesi.io/fraud-proofs/references/deployments.md): PRT and Honeypot deployed contracts - [PRT v1 Deployments](https://docs.cartesi.io/fraud-proofs/references/prt-v1-deployments.md): PRT v1 deployed contracts - [PRT Core Contracts](https://docs.cartesi.io/fraud-proofs/references/tournament.md): Tournament contract reference ## Cartesi Compute (Legacy) - [Cartesi Compute](https://docs.cartesi.io/cartesi-compute/): Cartesi Compute legacy section (redirects to compute/) - [Cartesi Compute SDK](https://docs.cartesi.io/compute.md): Cartesi Compute SDK overview - [Overview](https://docs.cartesi.io/compute/overview.md): Overview of Cartesi Compute - [How it works](https://docs.cartesi.io/compute/how.md): How Cartesi Compute works - [Architecture](https://docs.cartesi.io/compute/architecture.md): Cartesi Compute architecture - [Drives](https://docs.cartesi.io/compute/drives.md): Input and output drives - [Instantiate](https://docs.cartesi.io/compute/instantiate.md): Instantiate a computation - [Integer Drive](https://docs.cartesi.io/compute/integer_drive.md): Integer drive type - [Logger drives](https://docs.cartesi.io/compute/logger_drive.md): Logger drive type - [Machines off-chain](https://docs.cartesi.io/compute/machine-offchain.md): Off-chain machine management - [Machines on-chain](https://docs.cartesi.io/compute/machine-onchain.md): On-chain machine management - [The off-chain API](https://docs.cartesi.io/compute/off-chain-api.md): Off-chain API reference - [Provider drives](https://docs.cartesi.io/compute/provider.md): Provider drive type - [Platform services](https://docs.cartesi.io/compute/services.md): Platform services - [Supported networks](https://docs.cartesi.io/compute/supported-networks.md): Supported blockchain networks - [Execution timeline](https://docs.cartesi.io/compute/timeline.md): Computation execution timeline - [Topologies](https://docs.cartesi.io/compute/topologies.md): Network topologies - [Wallets](https://docs.cartesi.io/compute/wallet.md): Wallet integration - [Putting Things Together](https://docs.cartesi.io/compute/workflow.md): End-to-end workflow - [On-chain API](https://docs.cartesi.io/compute/api.md): On-chain API reference - [References](https://docs.cartesi.io/compute/references/): Reference documentation - [Tutorials](https://docs.cartesi.io/compute/tutorials/): Cartesi Compute tutorial index - [Hello World tutorial](https://docs.cartesi.io/compute/tutorials/helloworld/): Hello World Cartesi Compute tutorial - [Calculator tutorial](https://docs.cartesi.io/compute/tutorials/calculator/): Calculator Cartesi Compute tutorial - [Dogecoin Hash tutorial](https://docs.cartesi.io/compute/tutorials/dogecoin-hash/): Dogecoin Hash Cartesi Compute tutorial - [Generic Script tutorial](https://docs.cartesi.io/compute/tutorials/generic-script/): Generic Script Cartesi Compute tutorial - [GPG Verify tutorial](https://docs.cartesi.io/compute/tutorials/gpg-verify/): GPG Verify Cartesi Compute tutorial ## Legacy Tutorials (Cartesi Compute SDK) - [Introduction](https://docs.cartesi.io/tutorials/introduction.md): Introduction to the Cartesi Compute SDK tutorials - [General requirements](https://docs.cartesi.io/tutorials/requirements.md): Environment and tooling requirements - [Cartesi Compute SDK Environment](https://docs.cartesi.io/tutorials/compute-env.md): Setting up the Cartesi Compute SDK environment ### Hello World Tutorial - [Hello World machine](https://docs.cartesi.io/tutorials/helloworld/cartesi-machine.md): Build the Hello World Cartesi Machine - [Creating basic dApp](https://docs.cartesi.io/tutorials/helloworld/create-project.md): Create the Hello World dApp project - [Instantiating computation](https://docs.cartesi.io/tutorials/helloworld/instantiate.md): Instantiate the Hello World computation - [Deploying and running](https://docs.cartesi.io/tutorials/helloworld/deploy-run.md): Deploy and run the Hello World dApp - [Retrieving result](https://docs.cartesi.io/tutorials/helloworld/getresult.md): Retrieve the Hello World computation result ### Calculator Tutorial - [Calculator machine](https://docs.cartesi.io/tutorials/calculator/cartesi-machine.md): Build the Calculator Cartesi Machine - [Calculator project](https://docs.cartesi.io/tutorials/calculator/create-project.md): Create the Calculator dApp project - [Full Calculator dApp](https://docs.cartesi.io/tutorials/calculator/full-dapp.md): Complete Calculator dApp implementation ### Dogecoin Hash Tutorial - [Dogecoin Hash machine](https://docs.cartesi.io/tutorials/dogecoin-hash/cartesi-machine.md): Build the Dogecoin Hash Cartesi Machine - [Dogecoin Hash project](https://docs.cartesi.io/tutorials/dogecoin-hash/create-project.md): Create the Dogecoin Hash dApp project - [Computing scrypt using C](https://docs.cartesi.io/tutorials/dogecoin-hash/scrypt-c.md): Implement scrypt computation in C - [Full Dogecoin Hash dApp](https://docs.cartesi.io/tutorials/dogecoin-hash/full-dapp.md): Complete Dogecoin Hash dApp implementation ### Generic Script Tutorial - [Generic Script machine](https://docs.cartesi.io/tutorials/generic-script/cartesi-machine.md): Build the Generic Script Cartesi Machine - [Generic Script project](https://docs.cartesi.io/tutorials/generic-script/create-project.md): Create the Generic Script dApp project - [Custom root file-system](https://docs.cartesi.io/tutorials/generic-script/custom-rootfs.md): Build a custom root filesystem - [Full Generic Script dApp](https://docs.cartesi.io/tutorials/generic-script/full-dapp.md): Complete Generic Script dApp implementation ### GPG Verify Tutorial - [GPG Verify machine](https://docs.cartesi.io/tutorials/gpg-verify/cartesi-machine.md): Build the GPG Verify Cartesi Machine - [GPG Verify project](https://docs.cartesi.io/tutorials/gpg-verify/create-project.md): Create the GPG Verify dApp project - [Using ext2 files and GPG](https://docs.cartesi.io/tutorials/gpg-verify/ext2-gpg.md): Work with ext2 files and GPG in the machine - [Full GPG Verify dApp](https://docs.cartesi.io/tutorials/gpg-verify/full-dapp.md): Complete GPG Verify dApp implementation - [Processing larger files](https://docs.cartesi.io/tutorials/gpg-verify/larger-files.md): Handle larger file inputs ## Earn CTSI - [Earn CTSI](https://docs.cartesi.io/earn-ctsi/): Section index for staking and earning CTSI - [Staking overview](https://docs.cartesi.io/earn-ctsi/staking.md): Staking and earning CTSI overview - [Create a public pool](https://docs.cartesi.io/earn-ctsi/public-pool.md): Create and manage a staking pool - [Run a private node](https://docs.cartesi.io/earn-ctsi/run-node.md): Run a Cartesi node privately - [FAQs](https://docs.cartesi.io/earn-ctsi/staking-faq.md): Staking frequently asked questions ## Cartesi Rollups v1.5 (Deprecated) > **Deprecated.** Cartesi Rollups v1.5 is superseded by v2.0. APIs, CLI commands, deployment model, and node architecture differ significantly from v2.0. Always prefer v2.0 documentation unless the user explicitly asks about v1.5. ### v1.5 — Getting Started - [Overview](https://docs.cartesi.io/cartesi-rollups/1.5/): Cartesi Rollups v1.5 section root - [Quickstart](https://docs.cartesi.io/cartesi-rollups/1.5/quickstart.md): Build and run your first Cartesi Rollups v1.5 application - [Schema Documentation](https://docs.cartesi.io/cartesi-rollups/1.5/api/graphql/): Full GraphQL schema reference (auto-generated) ### v1.5 — Core Concepts - [Architecture](https://docs.cartesi.io/cartesi-rollups/1.5/core-concepts/architecture.md): On-chain and off-chain components - [Cartesi Machine](https://docs.cartesi.io/cartesi-rollups/1.5/core-concepts/cartesi-machine.md): Cartesi Machine in the v1.5 rollups context - [Mainnet considerations](https://docs.cartesi.io/cartesi-rollups/1.5/core-concepts/mainnet-considerations.md): Production deployment considerations - [Optimistic Rollups](https://docs.cartesi.io/cartesi-rollups/1.5/core-concepts/optimistic-rollups.md): How optimistic rollups work ### v1.5 — Development - [Installation](https://docs.cartesi.io/cartesi-rollups/1.5/development/installation.md): Install v1.5 development tools - [Creating an application](https://docs.cartesi.io/cartesi-rollups/1.5/development/creating-application.md): Bootstrap a new v1.5 Cartesi dApp - [Building the application](https://docs.cartesi.io/cartesi-rollups/1.5/development/building-the-application.md): Build your application for v1.5 - [Running the application](https://docs.cartesi.io/cartesi-rollups/1.5/development/running-the-application.md): Run and test locally with v1.5 - [Send requests](https://docs.cartesi.io/cartesi-rollups/1.5/development/send-requests.md): Send inputs to your v1.5 dApp - [Retrieve outputs](https://docs.cartesi.io/cartesi-rollups/1.5/development/retrieve-outputs.md): Query outputs from your v1.5 dApp - [Asset handling](https://docs.cartesi.io/cartesi-rollups/1.5/development/asset-handling.md): Deposits and withdrawals in v1.5 - [CLI commands](https://docs.cartesi.io/cartesi-rollups/1.5/development/cli-commands.md): Cartesi CLI v1.x reference - [Migration guide](https://docs.cartesi.io/cartesi-rollups/1.5/development/migration.md): Migrate from older versions to v1.5 ### v1.5 — Deployment - [Introduction](https://docs.cartesi.io/cartesi-rollups/1.5/deployment/introduction.md): Overview of v1.5 deployment options - [Self-hosted deployment](https://docs.cartesi.io/cartesi-rollups/1.5/deployment/self-hosted.md): Run your own v1.5 node ### v1.5 — External Resources - [Community tools](https://docs.cartesi.io/cartesi-rollups/1.5/external-resources/community-tools.md): Third-party tools and integrations for v1.5 - [Integration guides](https://docs.cartesi.io/cartesi-rollups/1.5/external-resources/integration-guides.md): Integration examples for v1.5 ### v1.5 — APIs Overview - [Rollups APIs](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/): API overview for Cartesi Rollups v1.5 ### v1.5 — Backend API - [Introduction](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/backend/introduction.md): Backend HTTP API overview - [Notices](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/backend/notices.md): Informational statements - [Vouchers](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/backend/vouchers.md): Executable actions on base layer - [Reports](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/backend/reports.md): Application logs ### v1.5 — Rollup HTTP API - [Cartesi Rollup HTTP API](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/cartesi-rollup-http-api/): HTTP API specification (auto-generated) - [Add Voucher](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/add-voucher/): Emit a voucher from the backend - [Add Notice](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/add-notice/): Emit a notice from the backend - [Add Report](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/add-report/): Emit a report from the backend - [Finish](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/finish/): Complete input processing - [Register Exception](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/rollup/register-exception/): Register an exception ### v1.5 — Inspect API - [Inspect State (spec)](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/inspect/inspect-state-http-api-for-cartesi-rollups/): Inspect HTTP API specification (auto-generated) - [Inspect](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/inspect/inspect/): Query application state ### v1.5 — GraphQL API - [Overview](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/overview.md): GraphQL API overview - [InputFilter](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/inputs/input-filter.md): Input filter type - [CompletionStatus](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/completion-status.md): Completion status enum - [InputConnection](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/input-connection.md): Input pagination connection - [InputEdge](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/input-edge.md): Input connection edge - [Input](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/input.md): Input object type - [NoticeConnection](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/notice-connection.md): Notice pagination connection - [NoticeEdge](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/notice-edge.md): Notice connection edge - [Notice](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/notice.md): Notice object type - [OutputValidityProof](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/output-validity-proof.md): Output validity proof type - [PageInfo](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/page-info.md): Pagination info type - [Proof](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/proof.md): Proof object type - [ReportConnection](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/report-connection.md): Report pagination connection - [ReportEdge](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/report-edge.md): Report connection edge - [Report](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/report.md): Report object type - [VoucherConnection](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/voucher-connection.md): Voucher pagination connection - [VoucherEdge](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/voucher-edge.md): Voucher connection edge - [Voucher](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/objects/voucher.md): Voucher object type - [Inputs query](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/queries/inputs.md): Query inputs via GraphQL - [Notices query](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/queries/notices.md): Query notices via GraphQL - [Reports query](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/queries/reports.md): Query reports via GraphQL - [Vouchers query](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/queries/vouchers.md): Query vouchers via GraphQL - [BigInt](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/scalars/big-int.md): BigInt scalar type - [Boolean](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/scalars/boolean.md): Boolean scalar type - [DateTime](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/scalars/date-time.md): DateTime scalar type - [Int](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/scalars/int.md): Int scalar type - [String](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/scalars/string.md): String scalar type ### v1.5 — GraphQL Directives - [deprecated](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/directives/deprecated/): Deprecated directive - [include](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/directives/include/): Include directive - [skip](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/directives/skip/): Skip directive - [specifiedBy](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/graphql/directives/specified-by/): SpecifiedBy directive ### v1.5 — JSON-RPC API - [JSON-RPC Overview](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/overview.md): Contract API overview - [CartesiDApp](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/application.md): Per-dApp contract ABI - [CartesiDAppFactory](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/application-factory.md): Deploy CartesiDApp contracts - [InputBox](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/input-box.md): Entry point for user inputs - [EtherPortal](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/portals/EtherPortal.md): ETH deposits - [ERC20Portal](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/portals/ERC20Portal.md): ERC-20 token deposits - [ERC721Portal](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/portals/ERC721Portal.md): NFT deposits - [ERC1155SinglePortal](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/portals/ERC1155SinglePortal.md): ERC-1155 single token deposits - [ERC1155BatchPortal](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/portals/ERC1155BatchPortal.md): ERC-1155 batch deposits - [DAppAddressRelay](https://docs.cartesi.io/cartesi-rollups/1.5/rollups-apis/json-rpc/relays/): Relay contract ABI ### v1.5 — Tutorials - [Counter](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/counter.md): Build a counter application - [Calculator](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/calculator.md): Build a calculator application - [Ether Wallet](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/ether-wallet.md): Integrating Ether wallet functionality - [ERC-20 Wallet](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/erc-20-token-wallet.md): Integrating ERC20 token wallet functionality - [ERC-721 Wallet](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/erc-721-token-wallet.md): Integrating ERC721 token wallet functionality - [Marketplace](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/marketplace.md): Build a marketplace application - [React Frontend](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/react-frontend-application.md): Build a React frontend for Cartesi v1.5 apps - [CLI Account Abstraction](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/cli-account-abstraction-feauture.md): Sponsored transactions via CLI account abstraction ### v1.5 — Tutorial Snippets - [Counter (JavaScript)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/counter-js.md): Counter application JavaScript snippet - [Counter (Python)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/counter-py.md): Counter application Python snippet - [Counter (Rust)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/counter-rs.md): Counter application Rust snippet - [Marketplace (JavaScript)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/marketplace-js.md): Marketplace application JavaScript snippet - [Marketplace (Python)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/marketplace-py.md): Marketplace application Python snippet - [Marketplace (Rust)](https://docs.cartesi.io/cartesi-rollups/1.5/tutorials/snippets/marketplace-rs.md): Marketplace application Rust snippet