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#
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-50.85, 0.9, 0.95, 1, 1.05, 1.1, 1.15 1.06x 1.18x ratio-100.85, 0.95, 1.05, 1.15 1.12x 1.36x ratio-200.7, 0.9, 1.1, 1.3 1.29x 1.86x 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.
One bank opens it; the other accepts it. The proposing bank signs a
corridor.proposewith the table,closed: true, a ceiling of at most 1.5x, and the reference set. The other bank runsmirror-bander accept, which shows exactly what it is accepting and refuses anything outside the shape the operator admits. Nothing is co-authored.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. 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.