Skip to main content
Your inventory lives in a contract you own that implements IMMProvider. The executor calls it to settle each fill.

executeSwap parameters

The executor computes amountOut only from a ladder your key signed, within its size, expiry and protections. Delivering less than amountOut makes the trade revert on the taker’s minAmountOut.

available

The executor caps each board to what available(tokenOut) returns: board() reports the smaller remaining size and quote() returns 0 for a size the provider cannot pay. The venue therefore quotes only what makers can pay.

Deploy BasicMMProvider

BasicMMProvider.sol is the reference implementation. It accepts fills from the executor only, pays amountOut, and returns its own token balance from available. It does not accept native ETH.

Implement IMMProvider on an existing contract

If your inventory already sits in a contract, add the four functions to it.