Search for projects by name or address
Critical contract references can be changed by an EOA which could result in the loss of all funds.
Bug Buster is an open source bug bounty platform for web3, powered by Cartesi.
Bug Buster is an open source bug bounty platform for web3, powered by Cartesi.
Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.
Learn more about the recategorisation here.
| SEQUENCER FAILURE | STATE VALIDATION | DATA AVAILABILITY | EXIT WINDOW | PROPOSER FAILURE | |
| OP Mainnet L2 | Self sequence | Fraud proofs (INT) | Onchain | None | Self propose |
| Bug Buster L3 • Individual | Self sequence | None | Onchain | None | Cannot withdraw |
| Bug Buster L3 • Combined | Self sequence | None | Onchain | None | Cannot withdraw |
In the event of a sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. failure, users can force transactions to be included in the project’s chain by sending them to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. There can be up to a 12h delay on this operation.
Currently the system permits invalid state rootsA cryptographic hash succinctly representing a state using a Merkle tree.. More details in project overview.
All of the data needed for proof construction is published on the base chain, which ultimately gets published on Ethereum.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state rootsA cryptographic hash succinctly representing a state using a Merkle tree. on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., so in the event of failure the withdrawals are frozen.
All executed transactions are submitted to an on chain smart contract. The execution of the rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. is based entirely on the submitted transactions, so anyone monitoring the contract can know the correct state of the rollup chain.
Ultimately, Cartesi DApps will use interactive fraud proofs to enforce state correctness. This feature is currently in development and the Bug Buster DApp permits invalid state rootsA cryptographic hash succinctly representing a state using a Merkle tree..
Funds can be stolen if an invalid state root is submitted to the system by the configured Authority (CRITICAL).
Funds can be stolen if the DApp owner changes the consensus implementation maliciously (CRITICAL).
Discovery rerun on the same block number with only config-related changes.
Discovery rerun on the same block number with only config-related changes.
| + | Status: CREATED |
| contract MerkleV2 (oeth:0x33436035441927Df1a73FE3AAC5906854632e53d) | |
| +++ description: None | |
| + | Status: CREATED |
| contract CartesiMathV2 (oeth:0xB634F716BEd5Dd5A2b9a91C92474C499e50Cb27D) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Bitmask (oeth:0xF5B2d8c81cDE4D6238bBf20D3D77DB37df13f735) | |
| +++ description: Implementation of bit mask with dynamic array. | |
Discovery rerun on the same block number with only config-related changes.
Discovery rerun on the same block number with only config-related changes.
| + | Status: CREATED |
| contract History (0x04395d494624D2B6e30C0dfDB74498a2839f805d) | |
| +++ description: None | |
| + | Status: CREATED |
| contract BugBuster (0x3FF5C7383F614256053c3F6B86A47bA974937299) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Authority (0x4246F5b1E52Fef1C52c96a9b1B679AE818d4fb35) | |
| +++ description: None | |
| + | Status: CREATED |
| contract InputBox (0x59b22D57D4f067708AB0c00552767405926dc768) | |
| +++ description: None | |
| + | Status: CREATED |
| contract ERC20Portal (0x9C21AEb2093C32DDbC53eEF24B873BDCd1aDa1DB) | |
| +++ description: None | |
BugBuster was redeployed to bring a bounty for the latest solidity compiler version (v0.8.27). New CartesiDAPP(Bugbuster) added to discovery (code-identical except for compiler version).
BugBuster was redeployed to bring a bounty for the latest solidity compiler version (v0.8.27). New CartesiDAPP(Bugbuster) added to discovery (code-identical except for compiler version).
| + | Status: CREATED |
| contract History (0x04395d494624D2B6e30C0dfDB74498a2839f805d) | |
| +++ description: None | |
| + | Status: CREATED |
| contract BugBuster (0x3FF5C7383F614256053c3F6B86A47bA974937299) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Authority (0x4246F5b1E52Fef1C52c96a9b1B679AE818d4fb35) | |
| +++ description: None | |
Provide description of changes. This section will be preserved.
Provide description of changes. This section will be preserved.
| + | Status: CREATED |
| contract History (0x04395d494624D2B6e30C0dfDB74498a2839f805d) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Authority (0x4246F5b1E52Fef1C52c96a9b1B679AE818d4fb35) | |
| +++ description: None | |
| + | Status: CREATED |
| contract InputBox (0x59b22D57D4f067708AB0c00552767405926dc768) | |
| +++ description: None | |
| + | Status: CREATED |
| contract ERC20Portal (0x9C21AEb2093C32DDbC53eEF24B873BDCd1aDa1DB) | |
| +++ description: None | |
| + | Status: CREATED |
| contract BugBuster (0x9cb6C6E904cE6BF3Ca6d0002b9629acce74Ea89b) | |
| +++ description: None | |
The operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. is the only entity that can propose blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.. A live and trustworthy operator is vital to the health of the system.
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.
The user initiates the withdrawal by submitting a regular transaction on this chain. When the blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. containing that transaction is settled the funds become available for withdrawal on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. The process of settling a block usually takes several days to complete. Finally the user submits an L1 transaction to claim the funds.
Funds can be frozen if the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production (CRITICAL).

Owner of the Bug Buster Cartesi DApp. Can change the consensusAn agreement on the latest and correct state of a blockchain. Unlike L1 blockchains which coordinate participating nodes with consensus rules, rollups rely on L1s for reaching consensus by checking the state of the rollup smart contract deployed thereon. reference and therefore steal all funds.
Owner of the Authority contract - the current consensusAn agreement on the latest and correct state of a blockchain. Unlike L1 blockchains which coordinate participating nodes with consensus rules, rollups rely on L1s for reaching consensus by checking the state of the rollup smart contract deployed thereon. implementation. Can make arbitrary claims about the current state of Bug Buster and steal all funds in the absence of fraud proofs.

CartesiDApp instance for the Bug Buster DApp, responsible for holding assets and allowing the DApp to interact with other smart contracts.
All supported tokens in this escrow are included in the value secured calculation.
Contract that receives arbitrary blobsThe data that a rollup publishes to its L1/data availability (DA) layer. They consist of the L2 transactions that are rolled up, along with some metadata. Blobs are introduced as a new transaction type within Ethereum with EIP-4844, and has rollup scaling specifically in mind. Blobs persist on Ethereum’s Beacon Chain ephemerally. as inputs to Cartesi DApps.
Contract that allows anyone to perform transfers of ERC-20 tokens to Cartesi DApps (like e.g. Bug Buster).
Simple consensusAn agreement on the latest and correct state of a blockchain. Unlike L1 blockchains which coordinate participating nodes with consensus rules, rollups rely on L1s for reaching consensus by checking the state of the rollup smart contract deployed thereon. model controlled by a single address, the owner.
Contract that stores claims for Cartesi DApps.