Router
Yield · Venus Core Pool (BSC) dollar markets and 2 PancakeSwap v3 range(s) at +/-80, +/-400 ticks
What it would have earned
net return on supplied capital (realized yield − switch costs), over 125h — too short to annualise honestly
| Metric | Value | Note |
|---|---|---|
| median | 0.03% | |
| observations | 60 | 20 windows × 3 perturbations |
| each window covers | 125.0h | tape is 250.0h |
| observations finishing in profit | 60 of 60 | |
| basis | net return on supplied capital (realized yield − switch costs), over 125h — too short to annualise honestly |
Why it did what it did
The boundary, and how far the market was from crossing it.
Router moved 1 time(s) over 250h. Best realized rate 2.98%; the widest venue gap reached 1.074pp against a 1.059pp hurdle — the edge cleared, and only just. It held the better venue on 68% of samples.
| Metric | Value |
|---|---|
| Best realized rate seen | 2.981% |
| Largest edge between venues | 1.074% |
| Round-trip hurdle (median) | 1.059% |
| Commitment before entry repays a round trip | 2.5 days |
| Decisions | 251 |
| Enter / switch / exit | 1 / 1 / 0 |
| Share of samples invested | 99.2% |
| Share of samples on the best venue | 68.1% |
- gross yield+6.15
- switch costs−1.03
Against doing it yourself
supply to the highest-rate venue once and never move (park_policy)
±0.00pp indistinguishable: -0.00pp is below the 0.1pp materiality floor
immaterial · bands overlappingchain tape
| Metric | Value | Note |
|---|---|---|
| Baseline net return P25–P75 | 0.03% – 0.03% | median 0.03% |
| Baseline moves | 1 enter · 0 switch | |
| Baseline gross yield | 5.49 USD | |
| Baseline costs | 0.015 USD | |
| Baseline net | 5.48 USD |
What a move costs
Every input is a reading, or says it is not.
| Metric | Value | Note |
|---|---|---|
| Swap fee | 1 bps | the verified pool's own fee tier |
| Gas per transaction | 0.007591 USD | gas units × gas price × native price |
| Derived from readings | yes |
fee 1bps from PancakeSwap v3 USDT/USDC 0.01%; gas 250,000 units x 0.050 gwei x 607.31 per native = 0.0076 per transaction
Venues
Two kinds of venue, verified the same way — and not the same risk.
| Metric | Value | Note |
|---|---|---|
| vUSDT | 207,067,354 supplied | reserve factor 0.1 (not on tape) · A1 ceiling 1,954,290.91 USD · held 78 of 251 samples |
| vUSDC | 48,835,784 supplied | reserve factor 0.1 (not on tape) · A1 ceiling 404,339.03 USD · held 171 of 250 samples |
| PancakeSwap v3 WBNB/USDT 0.05% | range at ±80 ticks | 0.00% fee tier, LPs keep 0.66% · A1 ceiling 1,751.67 USD · quotable on 251, never entered |
| PancakeSwap v3 WBNB/USDT 0.25% | range at ±400 ticks | 0.00% fee tier, LPs keep 0.68% · A1 ceiling 91.57 USD · quotable on 251, never entered |
Router measured 2 PancakeSwap range(s) and entered none — size, not yield. A1 caps a position at 1% of its venue, so against 10,000 the ceilings are: PancakeSwap v3 WBNB/USDT 0.05% at +/-80 ticks tops out at 1,752; PancakeSwap v3 WBNB/USDT 0.25% at +/-400 ticks tops out at 92.
Sizes cross from the pool’s quote token into this card’s units at 607.31 USD per BNB, read from the last swap on the verified pool — the same reading the cost model uses. A1’s ceiling is one of the figures that crosses, which is why the rate is published beside it (A24).
A range is quoted net of its convexity cost. A supplied dollar stays a dollar and a range does not, so a higher number here is not simply a better one.
At a size the ranges can take
The same policy over the same tape, with one input changed.
A1 caps a position at a fraction of the venue holding it, and at 10,000.00 USD that refuses every PancakeSwap range on this card. The refusal’s own remedy is to quote for less capital, so this does: 1,705.00 USD, which is the largest notional that stayed under A1's ceiling on every sample of this tape, for the deepest range on offer — a fraction of the pool's own liquidity over the quoted width, which does not depend on what this agent brings.
| Metric | Value | Note |
|---|---|---|
| Net return on supplied capital | 0.11% – 0.55% | median 0.33% · net return on supplied capital (realized yield − switch costs), over 125h — too short to annualise honestly |
| Samples inside a range | 250 of 251 | the agent using the venue it was built for, rather than only measuring it |
| Moves | 1 enter · 0 switch · 0 exit | invested 1.00% of the run |
| Best rate it could take | 109.944% | earned 7.79 USD net |
Held: PancakeSwap v3 WBNB/USDT 0.05% at ±80 ticks.
Not a better result — a smaller one. The rate is unchanged; only whether A1 allows the position at all.
The parameters behind the boundary
Read from the policy, not restated here — a constant a page could get wrong is not a constant.
| Metric | Value |
|---|---|
| cooldown_s | 21,600 |
| eps_market_share | 0 |
| horizon_hours | 168 |
| max_switches_per_day | 4 |
| min_apr_samples | 30 |
| persistence_samples | 3 |
| switch_cost_margin | 1 |
Assumptions this rests on
- COUNTERFACTUAL — this position was not held
- Rates are realized — differenced from Venus's borrowIndex, never from supplyRatePerBlock(), whose annualisation needs a constant that is not readable from chain (A12, P-22).
- The switching boundary is the myopic break-even, widened by a published margin. It is not a solved free boundary (A13).
- Switch cost uses the full pool fee, not the LP's share of it: a router paying to swap pays PancakeSwap's protocol cut too (P-1).
- A pool venue is quoted NET of its convexity cost, so it is never ranked on a subtraction it did not make (A10, A21).
- Not the same risk: a supplied dollar stays a dollar, an LP range holds two assets that move with the price.
- There is no width-free fee APR. Each range is quoted at the width measured as the leader, and that lead is not separated at this sample size (A21, A23).
- A window under 30 swaps has no verdict, and A1 caps a position at a fraction of the pool's depth — so a range can pay well and still be refused as too shallow.
- 2 market(s) have no NewReserveFactor row on the tape; 0.1 was used and the card says so per venue.