> ## Documentation Index
> Fetch the complete documentation index at: https://docs.biconomy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How it works

> The maker brings a price and inventory. Biconomy runs everything else.

## Where the maker plugs in

<img className="pa-fig pa-fig-wide-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/plug-in-wide-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=b484d1d072182eeae9f66fc93a20bf00" alt="The maker brings prices and inventory. Biconomy provides the contracts, the live book, the gas, the risk controls, the monitoring and the aggregator demand." width="900" height="320" data-path="images/propamm/plug-in-wide-light.svg" />

<img className="pa-fig pa-fig-wide-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/plug-in-wide-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=e8a24159cdec6c82443dd7db324d869e" alt="The maker brings prices and inventory. Biconomy provides the contracts, the live book, the gas, the risk controls, the monitoring and the aggregator demand." width="900" height="320" data-path="images/propamm/plug-in-wide-dark.svg" />

<img className="pa-fig pa-fig-narrow-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/plug-in-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=25daa8467cc3dacd88db48a0c319797f" alt="The maker brings prices and inventory. Biconomy provides the contracts, the live book, the gas, the risk controls, the monitoring and the aggregator demand." width="480" height="436" data-path="images/propamm/plug-in-light.svg" />

<img className="pa-fig pa-fig-narrow-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/plug-in-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=08435d83795177354c0f83ed729fb537" alt="The maker brings prices and inventory. Biconomy provides the contracts, the live book, the gas, the risk controls, the monitoring and the aggregator demand." width="480" height="436" data-path="images/propamm/plug-in-dark.svg" />

| Maker                                                      | Biconomy                                                                  |
| ---------------------------------------------------------- | ------------------------------------------------------------------------- |
| Signs a price ladder and streams it over one WebSocket     | Writes it onchain, refreshes it before it expires, pays every transaction |
| Holds inventory in a contract it owns                      | Settles fills from it at the signed prices                                |
| Switches on the protections it wants, from the same stream | Enforces them in the contract                                             |
|                                                            | Runs the venue aggregators quote and swap against                         |

The maker's pricing has no gas line and no infrastructure cost. The maker models spread and inventory.

## The ladder

<img className="pa-fig pa-fig-wide-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/ladder-wide-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=a86f08376aa4a117f839f07bacacbd89" alt="A price ladder for WETH/USDC: cumulative sizes 2, 5, 12 and 20 WETH at 2000.00, 1999.40, 1998.20 and 1995.50 USDC." width="900" height="236" data-path="images/propamm/ladder-wide-light.svg" />

<img className="pa-fig pa-fig-wide-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/ladder-wide-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=bb2ecc1ce7bca3ac5b6a1c570c25e793" alt="A price ladder for WETH/USDC: cumulative sizes 2, 5, 12 and 20 WETH at 2000.00, 1999.40, 1998.20 and 1995.50 USDC." width="900" height="236" data-path="images/propamm/ladder-wide-dark.svg" />

<img className="pa-fig pa-fig-narrow-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/ladder-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=a0a25ddaaecb1caf9d00978b0e3fd794" alt="A price ladder for WETH/USDC: cumulative sizes 2, 5, 12 and 20 WETH at 2000.00, 1999.40, 1998.20 and 1995.50 USDC." width="480" height="228" data-path="images/propamm/ladder-light.svg" />

<img className="pa-fig pa-fig-narrow-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/ladder-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=209e89d7f77bff0aef9361de93c4818d" alt="A price ladder for WETH/USDC: cumulative sizes 2, 5, 12 and 20 WETH at 2000.00, 1999.40, 1998.20 and 1995.50 USDC." width="480" height="228" data-path="images/propamm/ladder-dark.svg" />

A ladder is up to 20 steps of size and price for one direction of one pair. Aggregators read it from the chain with no adapter.

## Two modes

Both use the same ladder and the same connection. They differ in what the maker resends when the price moves.

<img className="pa-fig pa-fig-wide-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/modes-wide-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=8a1c0fbed64e63c40e218d19df15bf2f" alt="Rewrite sends the whole ladder on every update. Reprice sends the ladder once, then a single price number on every update." width="900" height="170" data-path="images/propamm/modes-wide-light.svg" />

<img className="pa-fig pa-fig-wide-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/modes-wide-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=cf6ff81b2b2889c47c5a1b05a04186a8" alt="Rewrite sends the whole ladder on every update. Reprice sends the ladder once, then a single price number on every update." width="900" height="170" data-path="images/propamm/modes-wide-dark.svg" />

<img className="pa-fig pa-fig-narrow-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/modes-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=22b118ed1526866dc6cbe281ed8916b3" alt="Rewrite sends the whole ladder on every update. Reprice sends the ladder once, then a single price number on every update." width="480" height="290" data-path="images/propamm/modes-light.svg" />

<img className="pa-fig pa-fig-narrow-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/modes-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=6918920d1051aa5dab691723ae092fff" alt="Rewrite sends the whole ladder on every update. Reprice sends the ladder once, then a single price number on every update." width="480" height="290" data-path="images/propamm/modes-dark.svg" />

|              | Rewrite             | Reprice                |
| ------------ | ------------------- | ---------------------- |
| Sends        | full ladder         | sizes once, then price |
| Bought steps | come back           | stay taken             |
| Suits        | full-ladder engines | frequent reprices      |

<img className="pa-fig pa-fig-wide-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/after-fill-wide-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=3f545f65878036f3af094d354ae66c69" alt="The same ladder after 5 WETH was bought: Rewrite puts the sold steps back on the market, Reprice keeps them taken." width="900" height="230" data-path="images/propamm/after-fill-wide-light.svg" />

<img className="pa-fig pa-fig-wide-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/after-fill-wide-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=1d312c50c2363953ac502757ad2262cc" alt="The same ladder after 5 WETH was bought: Rewrite puts the sold steps back on the market, Reprice keeps them taken." width="900" height="230" data-path="images/propamm/after-fill-wide-dark.svg" />

<img className="pa-fig pa-fig-narrow-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/after-fill-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=357304a9873345457ecf1491a1bfde42" alt="The same ladder after 5 WETH was bought: Rewrite puts the sold steps back on the market, Reprice keeps them taken." width="480" height="558" data-path="images/propamm/after-fill-light.svg" />

<img className="pa-fig pa-fig-narrow-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/after-fill-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=9eef34f33f8de86a0db78d798b03efb9" alt="The same ladder after 5 WETH was bought: Rewrite puts the sold steps back on the market, Reprice keeps them taken." width="480" height="558" data-path="images/propamm/after-fill-dark.svg" />

Both modes moved every price. Rewrite also put the 5 WETH already sold back on the market. The mode is set per pair.

## Protections

Four dials, off by default, enforced by the contract.

<img className="pa-fig pa-fig-wide-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/protections-wide-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=2f40a7a53ec0ff0db693f668e8d5f24c" alt="Four protections: block cap, age fade, move premium and auto-dark." width="940" height="176" data-path="images/propamm/protections-wide-light.svg" />

<img className="pa-fig pa-fig-wide-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/protections-wide-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=74ace3f38d101578eb57215a7c59753d" alt="Four protections: block cap, age fade, move premium and auto-dark." width="940" height="176" data-path="images/propamm/protections-wide-dark.svg" />

<img className="pa-fig pa-fig-narrow-light" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/protections-light.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=241bb557495dca956191ece345f2e40e" alt="Four protections: block cap, age fade, move premium and auto-dark." width="480" height="333" data-path="images/propamm/protections-light.svg" />

<img className="pa-fig pa-fig-narrow-dark" src="https://mintcdn.com/biconomy-73bb4454/40CFSb7K3hPGZ20b/images/propamm/protections-dark.svg?fit=max&auto=format&n=40CFSb7K3hPGZ20b&q=85&s=98209dede2a21498c034ac9b685e64f1" alt="Four protections: block cap, age fade, move premium and auto-dark." width="480" height="333" data-path="images/propamm/protections-dark.svg" />

| Dial         | Effect                                                        |
| ------------ | ------------------------------------------------------------- |
| Block cap    | Maximum the maker's book fills in one block.                  |
| Age fade     | Price widens with the square root of the quote's age.         |
| Move premium | Extra margin for the first blocks after a price change.       |
| Auto-dark    | Each message has an expiry. After it, the book stops quoting. |

Settings are on [Risk and inventory](/propamm/makers/risk-and-inventory).

## Fills and fees

|                        |                                                                                                                                  |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Quote vs fill          | The venue quotes from the stored ladder that fills the trade. A swap that delivers less than the taker's `minAmountOut` reverts. |
| Listing fee            | None                                                                                                                             |
| Routing fee for makers | None. An aggregator's fee comes out of the taker's output.                                                                       |
| Maker receives         | The signed price                                                                                                                 |
