# Ratio corridors: a table nobody has to negotiate

A corridor used to start with two banks agreeing a list of price edges for one product, ratifying it, and renegotiating it whenever the market moved. A risk committee cannot easily sign off on detection that depends on a table co-authored with a competitor, and every corridor began with a meeting about Mirror.

A ratio corridor removes the negotiation. Each leg bands the **ratio of its price to a public reference figure**, against a ratio table published once for every corridor. The only choice specific to the corridor is which public figures make the reference, and that is a citation, not a price.

## How a corridor opens

1. **Pick a published ratio table.** The tables are protocol constants, closed by construction:

   | Table | Edges (price ÷ reference) | A clear at tolerance 0 stands for at most | At tolerance 1 |
   |---|---|---|---|
   | `ratio-5` | 0.85, 0.9, 0.95, 1, 1.05, 1.1, 1.15 | 1.06x | 1.18x |
   | `ratio-10` | 0.85, 0.95, 1.05, 1.15 | 1.12x | 1.36x |
   | `ratio-20` | 0.7, 0.9, 1.1, 1.3 | 1.29x | 1.86x |

2. **Cite the reference.** List 1 to 8 public sources, each by publisher, instrument, publication, basis, currency and unit. A source never carries a figure. Set a quorum (how many sources must report), a spread (how far apart they may be), and the date rule that picks the figures for a shipment.
3. **One bank opens it; the other accepts it.** The proposing bank signs a `corridor.propose` with the table, `closed: true`, a ceiling of at most 1.5x, and the reference set. The other bank runs `mirror-bander accept`, which shows exactly what it is accepting and refuses anything outside the shape the operator admits. Nothing is co-authored.
4. **Band.** Each party, including a customs office if one witnesses the corridor, fetches the same public files itself and runs `mirror-bander band --reference-set set.json --reference-figures figures.json --basis USD,t,CIF,Rotterdam`.

## What happens inside the bank

- **R is computed exactly.** It is the median of the cited figures, refused if fewer than the quorum report or if they disagree beyond the spread. A reference the sources dispute judges nothing.
- **The price is divided by R**, by banding the value against the quantity times R, computed exactly. The leg's commitments are ordinary commitments: the operator, the verifiers and the conformance vectors are unchanged.
- **Only hashes leave.** The figures' file hashes ride inside the committed pricing basis. Neither R nor any figure leaves the bank.

## What a clear means here

- On `ratio-10`, both legs were within 0.85 to 1.15 times the public reference, in the same band, so they differ by at most 1.12x.
- **An off-market price never clears.** A price more than 15% off the reference lies outside the closed table. It commits markers that match nothing, so it reads divergent and goes to review, even when every party states the same number.
- **Two references never clear against each other.** Two legs divided by different files read `basis_mismatch`.

## One bank, on day one

A bank with no counterparty on the rail yet can still run its own book against the public reference:

```
mirror-bander screen --in legs.csv --reference-set set.json --reference-figures figures.json
```

It counts how many prices sit below, inside and above the table, computed inside the bank, submitting nothing and naming no shipment. Those counts are a per-corridor case the bank can take to a counterparty without disclosing a single trade.

## The honest limits

- **The reference is the new attack surface.** A launderer can try to move the benchmark instead of the trade. A median of distinct publishers and the spread refusal make that harder; they do not make it impossible.
- **Some goods have no credible public reference.** Services, bespoke goods and thin niche markets cannot have a ratio corridor. They keep a negotiated closed table, and some of the highest-risk trade sits exactly there.
- **Many benchmarks are licensed.** Each bank fetches the cited figures under its own data licence. Mirror never fetches, holds or publishes a figure.
- **A clear is not a fair-value opinion.** A reference prices a standard grade at a stated basis, as its citation says.

## For implementers

The normative text is [§3.1 of the specification](/mirror-protocol-spec). The conformance pack includes `ratio_reference` and `commit_leg_ratio`. The whole flow — opening, accepting, banding, clearing on a customs office's word, refusing an off-market price and a mismatched reference, and the one-bank screen — runs locally with `node server/ratio-corridor.test.js`.
