Search

Search for projects by name or address

Fluent logo
Fluent

Badges

About

Fluent is an Ethereum L2 that blends Wasm and EVM smart contracts into a unified execution environment (with SVM planned). Batches are preconfirmed by an AWS Nitro Enclave and finalize after a delay; challenges are resolved by SP1 ZK proofs.


  • Total Value SecuredTVS
    $1.68 M1.46%
  • Past day UOPSDaily UOPS
    0.031.11%
  • Gas token
    ETH
  • Type
    Other

  • Purpose
    Universal
  • Chain ID
    25363

  • Tokens breakdown

    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Fluent is an Ethereum L2 that blends Wasm and EVM smart contracts into a unified execution environment (with SVM planned). Batches are preconfirmed by an AWS Nitro Enclave and finalize after a delay; challenges are resolved by SP1 ZK proofs.

    Why is the project listed in others?

    The proof system isn't fully functional

    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.


    Total
    Canonically BridgedCanonically Bridged ValueCanonical
    Natively MintedNatively Minted TokensNative
    Externally BridgedExternally Bridged ValueExternal

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other
    Compare with other projects
    Past Day UOPS
    Past Day Ops count
    Max. UOPS
    Past day UOPS/TPS Ratio
    Compare with other projects

    The section shows the operating costs that L2s pay to Ethereum.



    Total cost
    Avg cost per L2 UOP
    Avg cost per day

    Compare with other projects

    This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.

    No ongoing anomalies detected

    Avg. tx data subs. interval
    Avg. proof subs. interval
    Avg. state updates interval
    Past 30 days anomalies
    100% normal uptime

    Fluent mainnet launch

    2026 Apr 24th

    Fluent activates its Ethereum L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. mainnet alongside the BLEND token launch.

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    No mechanism

    There is no mechanism to have transactions be included if the 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. is down or censoring.

    State validation
    TEE attestations

    State rootsA cryptographic hash succinctly representing a state using a Merkle tree. are accepted on the basis of an AWS Nitro Enclave preconfirmation and a 2d time delayIn regards to upgradeability, a predefined amount of time that must elapse before the rollup smart contracts or parameters are updated. This protects users from malicious upgrades by giving them time to exit the rollup before upgrades come into effect. Note that time delays only make sense if users' exits cannot be censored.; the SP1 ZK proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. exists in the contracts but is currently unreachable because CHALLENGER_ROLE has no holders. Effective security reduces to trust the TEE and wait the delay. See the State Validation section below for details.

    Data availability
    Onchain

    All of the data needed for proof construction is published on Ethereum 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..

    Exit window
    None

    There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

    Proposer failure
    Cannot withdraw

    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 data required for proofs is published on chain

    All the data that is used to construct the system state is published on chain in the form of cheap 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. or calldata. This ensures that it will be available for enough time. Fluent posts transaction data to Ethereum 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. as EIP-4844 blobs. Blob hashes are pinned on 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. contract via submitBlobs and SP1 proofs verify that 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. data matches both the pinned hashes and the EIP-4844 commitments.

    1. Fluent Rollup Architecture - Blob Publication
    Learn more about the DA layer here: Ethereum logoEthereum
    Challenges

    Fluent runs an optimistic batch lifecycle backed by SP1 ZK proofs for dispute resolution. (1) the 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. commits a batch root via commitBatch; (2) EIP-4844 blobThe 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. hashes are pinned via submitBlobs; (3) an AWS Nitro Enclave preconfirms the batch with an ECDSA signature whose key was admitted onchain only after an SP1 proof verified AWS’s attestation document for that key and that the document’s PCR0 (a fingerprint of the enclave image) matches the expected (audited) value; (4) within 1d 12h of acceptance, addresses with the CHALLENGER_ROLE can dispute via challengeBatchRoot or challengeBlock and the proverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract. must resolve each challenge with an SP1 proof before the same window closes; (5) batches finalize either after a 2d 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. delay (finalizeBatches, no proof needed in the happy path) or immediately once all challenged 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. are proven (finalizeWithProofs).

    Currently CHALLENGER_ROLE has no holders, so challengeBatchRoot and challengeBlock cannot be invoked. Because _provenBlocks is only populated inside resolveBlockChallenge (which itself requires an active challenge), no SP1 proof can be submitted onchain in this state and finalizeWithProofs reverts. Every batch therefore finalizes purely through the time-based path, and effective security reduces to trust the TEE plus the 2d delay until the admin grants the role.

    The PROVER, EMERGENCY, and CHALLENGER roles on 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. are gated by access control; see the Permissions section for the current holders.

    • Funds can be stolen if an invalid batch is preconfirmed by a compromised AWS Nitro Enclave and no permissioned challenger disputes it before the challenge window closes.

    1. Fluent Rollup Architecture
    2. Fluent Bridge Architecture

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x00e3...7334
    Code unknown
    Fluent logo
    0x0002...76fc
    Fluent logo

    Past upgrades

    The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.

    Count of upgrades
    17
    Last upgrade
    4mo 11d ago
    Avg upgrade interval
    1mo 2d
    2026 September 03, 10:42 UTC
    1change

    Upgraded TEE verification SP1 program to v1.0.6, program hash reproduced.

    contract NitroVerifier (eth:0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F) [fluent/NitroVerifier] {
    +++ description: Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.
    values.getProgramVKey:
    - "0x00637b56bd0f68aa55fa7128386e6a61a73df18a3d7a50a47c8c02d672346915"
    + "0x00022b9b7769bd21b7bc4171ba458ffc80b46cab6f5fbd5629fa2d873df676fc"
    }
    2026 August 26, 09:55 UTC
    1change

    Upgraded TEE verification SP1 program, program hash reproduced.

    contract NitroVerifier (eth:0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F) [fluent/NitroVerifier] {
    +++ description: Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.
    values.getProgramVKey:
    - "0x00e726560b91ff68e7e232d79536f4a8fb951f1f0197f97f7377b3f21e7e641e"
    + "0x00637b56bd0f68aa55fa7128386e6a61a73df18a3d7a50a47c8c02d672346915"
    }
    2026 July 24, 09:10 UTC
    1change

    Upgraded TEE verification SP1 program, program hash reproduced.

    contract NitroVerifier (eth:0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F) [fluent/NitroVerifier] {
    +++ description: Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.
    values.getProgramVKey:
    - "0x00fb9ae7af3b4852bd4524789cb15dbf188ee47b1d3838bdd39062821c6182e6"
    + "0x00e726560b91ff68e7e232d79536f4a8fb951f1f0197f97f7377b3f21e7e641e"
    }
    2026 July 01, 10:22 UTC
    1change

    Updated Fluent TEE program attestation verifier SP1 program to v1.0.3. Regenerated from sources.

    contract NitroVerifier (eth:0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F) [fluent/NitroVerifier] {
    +++ description: Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.
    values.getProgramVKey:
    - "0x0085924e73e2b0d0e2626c592825fe092d3cfb63b108757965b2a6c06c8c311b"
    + "0x00fb9ae7af3b4852bd4524789cb15dbf188ee47b1d3838bdd39062821c6182e6"
    }
    2026 June 05, 10:04 UTC
    High severity
    6changes

    L1FluentBridge implementation swapped by FluentMultisig on 2026-05-20: 0x047A…C227 → 0xF67255…F849 (diff). Key changes: - receiveMessageWithProof is now permissionless — the onlyRole(RELAYER ROLE) gate was removed, so anyone can relay an L2→L1 message from a preconfirmed or finalized batch. RELAYER ROLE no longer gates the live L1 receive path. - Message execution gas is now bounded by executeGasLimit instead of gasleft() ( receiveMessage(getExecuteGasLimit(), …) ); the configured limit changed 5000 → 550000, and a ReceivedMessage(hash, success, data) event is emitted. - Bare ETH transfers to the bridge are rejected — the receive() external payable {} fallback was deleted, so ETH must go through NativeGateway . - beforeReceiveMessage hook gains a bytes32 messageHash parameter (propagated through receiveMessageWithProof and receiveFailedMessage ). - registerGateway now requires the target to be a contract and rejects double-registration; unregisterGateway rejects unknown addresses. - rollbackMessageWithProof still reverts NOT IMPLEMENTED .

    contract L1FluentBridge (eth:0x9CAcf613fC29015893728563f423fD26dCdB8Ddc) [fluent/L1FluentBridge] {
    +++ description: Bridge core for Fluent. Routes deposits from L1 gateways into a FIFO queue consumed by the sequencer, and lets anyone process L2->L1 messages with two Merkle proofs against a preconfirmed or finalized batch root. Custodies bridged ETH on L1 (gateways forward ETH here on deposit). UUPS-upgradeable; upgrades and gateway-whitelist / oracle / pause changes are gated by DEFAULT_ADMIN_ROLE.
    sourceHashes.1:
    - "0x7bda96bf482f46806c7ec01435c28a85aa1cac36fddebecc38ed1b28e23ebc12"
    + "0x73f59c197fe2e902ffd1c1e9ee49d52d05e0df7bf001e7e56cc3d82339a457ea"
    values.$implementation:
    - "eth:0x047AaDf25df7D17bB5B6b1FF31cecD1E4973C227"
    + "eth:0xF67255be817061139C9DeeA757f7276916cBF849"
    values.$pastUpgrades.6:
    + ["2026-05-20T15:00:23.000Z","0x5683f1be2880db1238db0cafc17623f895de685541543b5fd577efdfec53429c",["eth:0xF67255be817061139C9DeeA757f7276916cBF849"]]
    values.$upgradeCount:
    - 6
    + 7
    implementationNames.eth:0x047AaDf25df7D17bB5B6b1FF31cecD1E4973C227:
    - "L1FluentBridge"
    implementationNames.eth:0xF67255be817061139C9DeeA757f7276916cBF849:
    + "L1FluentBridge"
    }

    The system has a centralized operator

    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. Sequencing and proof submission are also permissioned at launch: only allowlisted addresses can submit batches and SP1 proofs to 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.. See the Permissions section for current role holders.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    1. Fluent Security Invariants

    Users can't force any transaction

    There is no general mechanism to force the 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. to include the transaction.

    • Users can be censored if the operator refuses to include their transactions.

    Regular exit

    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.. ZK proofs are required to settle blocks. Finally the user submits an L1 transaction to claim the funds. On Fluent, the message hashA fixed-length fingerprint of variable-size input, produced by a hash function. enters the block’s withdrawal root which becomes part of the next batch root; once the batch is finalized, anyone can deliver the message on L1 via receiveMessageWithProof with two Merkle proofsHashing the pairs of values at each level and climbing up the (Merkle) Tree until you obtain the root hash. Merkle proofs help check if the data belongs to a set without having to store the entire set. (block-against-batch and message-against-block).

    1. Fluent Bridge Architecture

    Optimistic (preconfirmed) fast withdrawals

    After a batch is preconfirmed by the AWS Nitro Enclave, withdrawals can be released without waiting for finalization, subject to per-token hourly and daily caps enforced by the FastWithdrawalList registry. ETH and WETH share a bucket to prevent cap evasion.

    • Funds can be stolen if the AWS Nitro Enclave attestation key is compromised and the operator preconfirms an invalid batch within the rate-limited window.

    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    FluentMultisig0x33C0…ff11

    A Multisig with 4/5 threshold.

    • Can upgrade with no delay
      • Blacklist
      • FluentRollup
      • NativeGateway
      • L1FluentBridge
      • ERC20TokenFactory
      • ERC20Gateway
    • Can interact with FluentRollup
      • grant / revoke all access control roles on 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. contract and configure its core parameters
      • revert non-finalized (committed or preconfirmed) batches via revertBatches; cannot revert finalized batches
    • Can interact with FluentTimeLock
      • execute scheduled timelock operations once the min-delay has elapsed
    • Can interact with L1FluentBridge
      • configure the rollup binding, oracles, gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. parameters and gateway whitelist on the 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. bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. core, and grant / revoke its other roles
      • pause / unpause the L1 bridge core and clear expired L1->L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. deposits via skipExpiredDeposits (no user-initiated refund path exists; rollbackMessageWithProof reverts with NOT_IMPLEMENTED)
    ERC20TokenFactory0xF6d4…B225
    • Can interact with UpgradeableBeacon
      • change the beacon implementation
    SP1VerifierGatewayMultisig0xCafE…6878

    A Multisig with 2/3 threshold.

    • Can interact with SP1VerifierGatewayOlder
      • affect the livenessLiveness refers to the ability of a system to respond to requests and to process them in a timely manner. In the context of L2s, it refers to the ability of settling transactions, proofs and state roots to the base layer. and safety of the gateway - can transfer ownership, add and freeze verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. routes
    Used in:
    FluentAdminEOA0x9ec3…518D

    Member of FluentMultisig.

    • Can interact with FluentTimeLock
      • cancel scheduled timelock operations before they are executed
      • schedule operations on the timelock; the configured min-delay must elapse before they can be executed
    FluentProverEOA0xB9E6…255C
    • Can interact with FluentRollup
      • submit SP1 ZK proofs that resolve challenged batches and accelerate finalization via finalizeWithProofs
    FluentEnclaveAttesterEOA0xef9D…2012
    • Can interact with FluentRollup
      • AWS Nitro Enclave attestation key admitted to preconfirm batches; binds the optimistic fast-withdrawal path
    FluentSequencerEOA0xFd58…1c26
    • Can interact with FluentRollup
      • commit batches and submit EIP-4844 blobThe 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. hashes to 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.
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Per-token rate-limit registry for the optimistic (preconfirmed) fast-withdrawal path. Enforces hourly and daily caps using rolling windows keyed by 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. timestamp; related tokens (e.g. ETH and WETH) can be aliased to a shared bucket to prevent cap evasion.

    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. entry point for ETH deposits into Fluent. Forwards ETH to L1FluentBridge for actual escrow custody and emits the corresponding bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. message. UUPS-upgradeable; upgrades are gated by the contract owner.

    • Roles:
      • admin: FluentMultisig
    Can be upgraded by:

    BridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. core for Fluent. Routes deposits from 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. gateways into a FIFO queue consumed by the 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., and lets anyone process L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1 messages with two Merkle proofsHashing the pairs of values at each level and climbing up the (Merkle) Tree until you obtain the root hash. Merkle proofs help check if the data belongs to a set without having to store the entire set. against a preconfirmed or finalized batch root. Custodies bridged ETH on L1 (gateways forward ETH here on deposit). UUPS-upgradeable; upgrades and gateway-whitelist / oracle / pause changes are gated by DEFAULT_ADMIN_ROLE.

    • Roles:
      • defaultAdmin: FluentMultisig
      • pauser: FluentMultisig
    The following tokens are included in the value secured calculation:
    ETH token logo
    Can be upgraded by:

    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. entry point for ERC-20 deposits into Fluent. Custodies ERC-20 tokens directly on L1 and emits the corresponding bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. message; on the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. side the canonical pegged token is minted via the ERC20TokenFactory. UUPS-upgradeable; upgrades are gated by the contract owner.

    • Roles:
      • admin: FluentMultisig

    All supported tokens in this escrow are included in the value secured calculation.

    Can be upgraded by:
    FluentTimeLock0x7846…3bF4

    OpenZeppelin TimelockController used to delay privileged operations. PROPOSER_ROLE schedules calls; the configured minimum delay must elapse before EXECUTOR_ROLE can execute them; CANCELLER_ROLE can drop scheduled calls.

    • Roles:
      • canceller: FluentAdminEOA
      • executor: FluentMultisig
      • proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block.: FluentAdminEOA
    ERC20PeggedToken0x056f…b090
    • Roles:
      • admin: FluentMultisig
    Can be upgraded by:

    Core Fluent 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. contract. Sequencers commit batch roots and EIP-4844 blobThe 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. hashes; an AWS Nitro Enclave preconfirms each batch via a signature whose key is bound to a PCR0 measurement verified by SP1; participants holding CHALLENGER_ROLE can dispute and the proverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract. resolves disputes with SP1 ZK proofs; batches finalize after a 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.-count delay or immediately once all blocks are proven.

    • Roles:
      • defaultAdmin: FluentMultisig
      • emergency: FluentMultisig
      • preconfirmation: FluentEnclaveAttesterEOA
      • prover: FluentProverEOA
      • 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.: FluentSequencerEOA
    Can be upgraded by:
    NitroVerifier
    2 instances
    0x207F…AC5B0xFdB0…292F

    Verifies AWS Nitro Enclave attestations onchain. The enclave’s signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.

    UpgradeableBeacon0xdD28…710B

    A beacon with an upgradeable implementation currently set as ERC20PeggedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.

    • Roles:
      • owner: ERC20TokenFactory
    SP1VerifierGatewayOlder0x397A…dA9B

    This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contracts, routing each identifier to the corresponding verifier contract.

    • Roles:
      • owner: SP1VerifierGatewayMultisig
    Implementation used in:
    SP1Verifier0x50AC…f1e5

    VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v5.0.0).

    Implementation used in:
    SP1Verifier0x99A7…2508

    VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v6.0.0).

    Implementation used in:
    SP1Verifier0xb69f…f4e2

    VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v6.1.0).

    Implementation used in:

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x00e3...7334
    Code unknown
    Fluent logo
    0x0002...76fc
    Fluent logo