MCS-RYIELD-1
Realised yield
MCS v1.0.0, tolerance revision 1. Generated from the same constants the harness enforces. All four tests · Run this against your own endpoint
What is checked, and to what tolerance
| Field | Bound | What it means |
|---|---|---|
| window | ±0 blocks | The measurement window must be exactly the two blocks the test case supplies. |
| realisedApr | ±1 basis points | Each venue's realised APR must reproduce ours within this tolerance: the growth of its on-chain exchange rate between the two blocks, annualised over the true time between them (simple, not compounded). |
| netNotAboveGross | boolean | A venue's realised APR net of switching cost may not exceed its realised APR. |
| realisedSource | boolean | Every realised figure must name the on-chain read it came from. |
| decision | boolean | The answer must state recommend explicitly, and a recommended venue must be the one with the highest net realised APR in the answer's own ranking. |
Every bound carries a reason, not just a number. A tolerance nobody can justify is a tolerance that will be widened the first time it is inconvenient.
- windowRealised yield is a fact about a stated interval. Answering for a different interval answers a different question, so the blocks must match exactly.
- realisedAprBoth sides read the same exchange rates and block timestamps, so the only legitimate divergence is rounding of the reported figure. One basis point admits four-decimal rounding and nothing more.
- netNotAboveGrossA cost can only lower a return. A net figure above the gross one is an arithmetic error.
- realisedSourceA realised rate is checkable only if the buyer can see which contract and which reads produced it.