The most efficient intent based cross-chain bridge in web3



Fillers (7d)


Filler competition (7d)


Minimum Execution time

3 sec(s)

Average Execution time

36.986 sec(s)

Maximum Execution time

1.569 hour(s)

Supported chains

Ethereum, Scroll, ZKSync, Arbitrum, Linea, Polygon, Blast,Optimism, Avalanche, Base, BSC, Polygon ZKEVM, Mantle, Manta, Rootstock, Tron


Auction Design

Intent-centric protocols like utilise a variety of auction mechanisms designed to optimise order execution either in terms of execution quality or speed. By matching buyers and sellers directly without the need for an intermediary liquidity pool the protocols can reduce the impact of front-running and slippage. The design of the auction is crucial because it creates different incentives for Fillers as well as different trade-offs depending on the exact mechanisms used. Commonly used auctions like FCFS are easy for protocols to run and result in fast order execution, however the lack the RFQ-like bid auction window that would allow multiple Fillers to compete with each other on execution quality.


The first accepted filler bid automatically wins the auction irrespective of whether another bid comes in at roughly the same time with a better price or outcome for the user

Auction Openness

The openness of an auction is important in ensuring the trustworthiness of the result and proving there is no collusion between the protocol and Fillers. Open auctions allow all participants to see the auction process in real-time and verify the outcome. This transparency ensures that all bids are considered fairly, the auction rules are followed and the winning bid is the result of a fair and competitive process.


Nitro runs a state chain which is open but requires permissioned node software to easily access. The team does however provide an explorer ( but this does require some trust in the protocol operator.


Fillers contributing to protocol

Intent centric protocols rely on Fillers to facilitate the execution of orders on their platform. One measure of the health of an Intent centric protocol is the number of Fillers that regularly fill orders and the extent to which these Fillers compete with each other to provide the best possible execution quality for user orders. Having a small number (or even one) of Fillers is a significant risk factor to the protocol.


There is only a single Filler servicing orders. This represents an increased risk of monopolistic filling and protocol censorship as well as likely result in execution quality suffering leading to the user receiving a worse price than they might have otherwise.

Open participation

Whilst most protocols are open and encourage free permissionless participation by any entity wishing to contribute bids for orderflow, some may require Fillers to apply and be whitelisted before they can access orderflow. Having a permissioned system increases risks of centralisation and heightens the risk of Censorship and amplifies the consequences of Filler Failure since it is not straight forward to for a new entity step in to provide bids for 'stuck' orders should no Fillers be available.


Nitro does not restrict fillers from contributing bids for orderflow on chain, however to get full access to orderflow and fee quoting requires running node software which is currently not freely available publicly.

Fillers by order value

Fillers often run sophisticated selection criteria to determine what orders they will fill and under what circumstances. Fillers additionally need to own sufficient inventory of the tokens on the appropriate chain to be able to execute an order they are bidding imposing limits on the competitiveness of filling entities based on their treasure and inventory management practices. As a result the range of orders that are filled differ between Fillers and can cause uncontested orders based on a number of factors including order value. It is not uncommon to see a tail off in Filler competition towards the higher value range.

XAxis - Value Buckets in USD


More than one order value range is only filled by a single Filler. This represents an increased risk of monopolistic filling and will likely result in execution quality suffering and the user receiving a worse price than they might have otherwise.


Order competition

Competition between fillers is a crucial element in the intent centric architecture design. Monopolistic filling discourages Fillers from increasing their bids to win order flow from other Fillers and results in reduced execution quality for the user. Another key metric of the health of an Intent based protocol is the degree of competition between Fillers to win order flow. Healthy ecosystems are demonstrated by the presence of multiple Fillers consistently submitting different competing bids for the same orders.

1.011 bids / order

This protocol either has a single Filler or a single Filler is filling ≥ 90% of orders uncontested. This demonstrates very low competitiveness and will likely result in worse execution quality for user orders.

Order sizes

The distribution of order sizes gives insights into how users place orders and the extent to which they trust the protocol. Low trust or protocol airdrop farming activity is often represented by a heavy skew in orders towards the lower value end of the scale, whereas a more organic distribution between order values both demonstrates increased trust and organic behaviour.

XAxis - Value Buckets in USD

YAxis - Number of Orders


Wide ranging distribution of order values showing consistent protocol usage and a high degree of trust from users with larger value orders also seen consistently


Order execution speed

How fast a protocol can satisfy an order is seemingly the main differentiator between protocols seeking to win order. The consistency of these order execution times per protocol give some insight into the ability of protocol Fillers to consistently service orders whilst performing inventory rebalancing operations themselves. As such, whilst optimising for speed on it's own doesn't lead to better execution quality (in fact it in some cases ends up with the opposite result), the consistency of execution from the protocol Fillers is an indicator of protocol health. Note that there can be some margin of error in this measurement based on the timing resolution of the block time headers for each chain.

Fastest Execution Time3 sec(s)
Average Execution Time36.986 sec(s)
Slowest Execution Time1.569 hour(s)


Some orders take multiple minutes to be filled resulting in the same or worse execution time compared to non-intent based protocols.

Speed by order size

The consistency of these order execution times based on the order value gives some insight into the ability of protocol Fillers to consistently service orders whilst performing inventory rebalancing operations themselves. It's not uncommon to see execution speeds become significantly longer as the order sizes increase as fewer Fillers have inventory (and inventory deployed in the right places) to capitalise on the orderflow and bid to execute.

XAxis - Value Buckets in USD

YAxis - Execution time in seconds normalised using log(abs(time) + 2) * (time / abs(time))


Some orders take multiple minutes to be filled resulting in the same or worse execution time compared to non-intent based protocols.

Order execution speed by route

Order execution times across source and destination chains provides some insight into the ability of protocol Fillers to consistently service orders whilst performing inventory rebalancing operations themselves along with exposing chain preferences. Chain block times and rebalancing frictions often skew Fillers to prioritise some chains over others when filling orders and this can lean to localised minimums and maximums in order execution time.

XAxis - Source Chain

YAxis - Speed by destination chain



When interacting with entirely blockchain resident programs (i.e. smart contracts) all transaction originating addresses have theoretically equal opportunity to obtain service (gas fees and block building stages notwithstanding). Intent based protocols incur additional practical complexities and, coupled with a lack of standarisation between how intents are expressed, auctions are run and how Fillers obtain information about orders to fill, results in additional layers of infrastructure needing to be created. Largely, these additional layers are not implemented fully on chain and / or rely on messaging passing mechanisms which can further widen the ways that participation can be limited. Performing some of the calculation, matching or execution logic off chain introduces a potential source of centralisation. Centralisation negates the guarantees of a decentralised system where if only a single participant is acting honestly and rationally, there is a level playing field for all. Depending on the design of an protocol, centralisation can occur through multiple mechanisms like off chain order advertising, order-bid matching, auction execution, cross-chain message passing, permissioned relayers or executors and others.


The Nitro state chain and PoS validator set includes protections against order flow and fill censorship. Participation requires access to node software which is currently not freely available publicly and an economic stake limiting open participation.

Filler failure

Intent centric protocols require a Filler to submit a bid and execute transfers / actions that a user order specifies. Without at least one Filler facilitating orders, an Intent based protocol is unable to offer a service to users. Having no Fillers to facilitate an order (or all orders) is a existential risk factor for the protocol which is usually mitigated by the protocol running their own simplistic Filler to provide a minimum level of service. However, should there be no Fillers available to satisfy an order or, if all Fillers decline to service a particular order, there is the potential for an order to be trapped in-flight unless another Filler steps in or the facilitating protocol has an “escape hatch” mechanism for the order originator to cancel their order and have their funds returned.


Unfilled orders can be cancelled after 6 hours using the Nitro block explorer. This triggers call on the source chain to a function depositinfoupdate which emits an event picked up by decentralised Nitro validators which check the order hasn't been filled on the destination chain and sufficient time has passed to allow for a cancel operation. Once an order can be cancelled the validator set will create a new bridging operation which will return the funds minus the protocol fee to the user.