Using Mochi

Your basket and its fees

What the Basket page reads, where the numbers come from, and why some fields are blank.

Where patches come from

Patches are enumerated from the position manager contract, not from a database. Anything you minted on any interface appears here, because the source of truth is the chain rather than our records.

The cost of that choice is speed — reading the chain is slower than reading a table — and it is worth paying, because a basket that only knows about patches it created is not a basket.

Fees owed

Each patch stores a counter of fees owed. Reading it is one cheap call, and it is wrong: the counter only updates when the patch is touched, so it reports zero for patches that genuinely have fees waiting.

Mochi instead simulates a collection as though you were performing it, which returns exactly what would arrive if you did. This is one call per patch rather than one batched call for all of them, because the collection function checks who is calling and a batching contract is not you.

Range status

A patch is in the sun when the pool's current step falls between its boundaries. In the shade means it holds a single token and is earning nothing. Closed means its liquidity is zero but the token still exists, usually with fees still claimable inside it.

Profit against entry

Shown for patches opened through Mochi, where the deposit was recorded at the time. For patches opened elsewhere the field says so.

It would be possible to reconstruct an approximate entry from historical events, and that reconstruction would be wrong often enough to be worse than nothing. A blank you can trust beats a number you cannot.

Very large holders

Enumeration is capped. At least one address on this chain holds over a quarter of a million patches — a contract, not a person — and without a cap the page would attempt hundreds of thousands of calls. When the cap is hit, the interface says so and reports the real total.