Affiliate Receipts — Public Partnership Ledger
Every ChainChoice affiliate partnership — live, pending, and paused — published as a structured ledger. This is the architectural counterpart to the signed affiliate-disclosure receipt: the ranking pipeline is provably blind to this list, enforced by CI (scripts/check-affiliate-blind.mjs).
The ranking engine never reads from affiliateRegistry.ts. Importing it from any module under src/lib/decisionEngine, src/lib/decisionRanking.ts, or related ranking files trips a CI ratchet and blocks the merge.
That's why “we don't rank by payout” is a CI-enforced invariant, not a marketing claim. The list below being public is the second half: you can audit which providers we have a commercial relationship with — and verify against the methodology that none of these IDs are in the ranking inputs.
Live partnerships (1)
Approved, tracking code in hand, click-outs attributed. Each row is a commercial relationship that exists today.
Pending partnerships (10)
Applications submitted or in flight. Pending is not a partnership. These providers receive standard editorial treatment — no preferential ranking, no commission attribution — until the status flips to live.
Verify the integrity firewall
The full prose disclosure (signed, content-addressed) lives at /affiliate-disclosure. The methodology page explains which fields the ranking engine consumes (and which it does not — including everything in this ledger).