Silo Documentation

Simple execution for traders

Traders should not need to understand liquidity bins to use a Silo market. Choose the asset to sell, choose the asset to receive, enter an amount, review the quote, then confirm the swap.

What a quote includes

The quote is the contract between the interface and the trader. Every value in it should be visible before confirmation, not after.

Expected output

The estimated amount received after execution.

Trading fee

The fee paid to access liquidity in the market.

Price impact

The effect of the trade on execution relative to the current quote.

Reference price

An external market reference when the asset supports one.

Advanced mechanics belong beneath the interface. A clear quote and honest execution details matter more to a trader than the exact path through individual bins.

The reason to insist on all four before confirmation is that they fail independently. A quote can show a good expected output and a low fee while the price impact is large, or show a reasonable impact while the market has drifted far from its reference. A trader shown only the output has no way to tell a good execution from a bad one, because the output alone does not say what it should be compared against.

Price impact and depth

Price impact is a function of how much liquidity sits near the current price. A trade that fits inside the active bin executes close to the quoted price. A trade large enough to cross several bins executes across all of them, and the average price reflects that path. Depth, not pool size, determines how large a trade can be before impact becomes significant.

Small tradeFills within the active bin, with impact close to zero.
Large tradeCrosses bins in sequence and fills at progressively worse prices.
Thin marketEven a modest trade can cross several bins, so the quote should be read carefully.

The distinction between depth and size matters most in exactly the situation where a trader is least likely to check it. A market advertising a large TVL invites larger trades, and if that capital is spread thinly or parked far from the current price, the trade the number encouraged is the one the market cannot absorb. Pool size is a claim about the market's history. Depth is a statement about what it can do right now.

Large orders and depth

A trade large enough to cross many bins pays a progressively worse price at each level. Whether to split it depends on whether liquidity is expected to replenish between the parts.

  • Depth returnsWhere LPs actively place liquidity near the market, splitting an order across time can improve the average fill.
  • Depth does not returnIn a quiet market, splitting achieves nothing and adds cost, because the same bins are consumed either way.
  • The market is movingSplitting exposes the remainder to price movement, which can cost more than the impact it avoids.

The judgment is really about which cost is larger: the impact of taking depth all at once, or the risk of holding an unfilled remainder while the price moves. In a market with active LPs and steady flow, the first cost dominates and splitting helps. In a quiet market, or one moving in a single direction, the second dominates and splitting makes the outcome worse.

Slippage tolerance

A quote is produced before a trade executes, and the market can change in between. Slippage tolerance is how much movement a trader accepts before the trade should fail rather than fill at a worse price.

Tolerance too tightTrades fail during ordinary movement and have to be resubmitted.
Tolerance too looseA trade can fill materially worse than quoted, particularly in a thin market.
Tolerance set wellWide enough to absorb normal movement in that market, narrow enough to reject an unusual fill.

The right value is a property of the market rather than a personal preference. A deep market with a small bin step needs less tolerance than a thin one where a single trade crosses several levels.

The failure mode worth avoiding is widening the tolerance to stop trades from reverting. A trade that repeatedly fails is telling the trader something, usually that the market is moving quickly or is too thin for the size being attempted. Widening the tolerance silences the signal without addressing either condition, and converts a failed transaction into a filled one at a price the trader would not have accepted if it had been quoted to them directly.

Fees a trader pays

A trade pays the market's current fee, which accrues primarily to the liquidity providers whose bins were used. Where dynamic fees are enabled, that rate can differ from the rate shown minutes earlier, so the fee applied to a trade must be the fee displayed at confirmation.

That rule is not a courtesy. A market where the rate can move between quote and execution has made its quote advisory, and a trader cannot compare two markets whose quoted prices mean different things. Fixing the fee at confirmation is what makes the number on the screen a price rather than an estimate.

What a trade costs in total

The headline fee is only part of what separates the quoted price from the realized one. A trader comparing markets should compare all of it.

Trading feeThe stated fee for the market, applied to the trade at confirmation.
Price impactThe cost of crossing bins, which depends on depth near the market rather than on pool size.
Reference divergenceThe gap between the onchain price and the external reference, where one exists.
Network costThe cost of submitting the transaction, which is independent of the market.

A market with a low fee and no depth can be more expensive than a market with a higher fee and liquidity concentrated at the current price.

When a trade should not execute

Execution guards exist so a market does not trade through conditions it cannot price. Where reference data is stale or unavailable, or where a market has diverged sharply from its reference, restricting execution is the correct behavior rather than a failure of it.

Silo documentation

The liquidity layer for tokenized assets.