> For the complete documentation index, see [llms.txt](https://docs.ilayer.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ilayer.io/solvers.md).

# Solvers

The backbone of iLayer is its network of solver bots that pick up orders and fill them cross-chain, in a competitive way with other bot operators to ensure the best price to the user.

#### **Internal order list**

The bot essentially watches orders created on the several `OrderHub` , those filled on the `OrderSpoke` and the incoming requests over the RFQ channel. Combining these two, it can create a list of active orders and fill the ones available:

* the RFQ ones accepted and sent back signed by the user
* the ones on the Hub where the primary filler deadline has expired and that haven't been filled on the corresponding Spoke

#### **How filling an order works**

Solvers maintain only a numeraire token as their balance, ideally a stablecoin like USDC or USDT. Any order is then consolidated into this balance.

For example, filling a multi-token order that wants WETH and WBTC and gives SHIB will be executed in this way: &#x20;

1. a multi-call transaction is executed, containing:
   1. the numeraire token swap into WETH and WBTC according to the required amounts
   2. the order filling on the Spoke
2. on the Hub, the incoming SHIB is swapped into the numeraire token, consolidating the balance into the origin chain.

The bots will then easily rebalance their numeraire token cross-chain to maintain correct ratios depending on volumes.
