Part of #2266.
What needs to be done?
Decide and apply one policy: partner pages link to the provider's own docs for contract addresses instead of listing them — then fix or delete the address tables on the six pages that carry them today.
Why (verified 2026-08-24, Blockscout api/v2)
The Witnet page (tooling/oracles/wit-oracle.mdx) shows how partner addresses rot in place:
| Address we list |
Contract |
Last tx seen |
0x1111AbA2164AcdC6D291b08DfB374280035E1111 (price feeds, lines 25–26, 78) |
WitnetProxy |
2026-01-23 — quiet for 7 months |
0x3210564cfc8855cad45d6d963118058fe2b80123 (not in our docs) |
WitnetProxy |
2026-08-24 — active today; picked up right when the listed one went quiet |
0xC0FFEE98AD1434aCbDB894BbB752e138c1006fAB (randomness, lines 101–103) |
WitnetRandomnessV2 |
2026-04-22 |
0xc0ffee6912244068f3151f55aef20fde504b6e3a (not in our docs) |
WitRandomnessV3 |
2026-02-27 |
Note the randomness pair: the V3 contract's last recorded tx predates V2's, so it is not obvious which is canonical — exactly the call we cannot make ourselves, and with the link-out policy we do not have to: the provider's docs answer it. (An earlier plan to ask the partner team for the canonical set was dropped for that reason.) The page also still labels its addresses "Alfajores" (retired testnet).
We cannot detect this class of staleness: nothing in CI watches on-chain activity, and the addresses sat in a page that is currently orphaned from nav (#2253 proposes re-navigating it — do not re-nav before this lands).
What the field does
Checked 2026-08-24:
- Optimism (docs.optimism.io, oracles page): lists providers, links each to the provider's own address catalog ("available on the production network @ [OP Mainnet] → docs.chain.link/data-feeds/…"). No partner addresses inline.
- Base (docs.base.org): no partner oracle pages with addresses at all; only Base-native contract addresses.
- Our own Chainlink, RedStone, Supra, DIA and Quex pages already carry zero addresses and link out — Witnet and Band are the outliers.
Scope — the six pages with hardcoded addresses (unique-address count at bdf40b37)
tooling/oracles/wit-oracle.mdx (2) — stale, see above
tooling/oracles/band-protocol.mdx (2) — unverified
build-on-celo/build-with-farcaster.mdx (4) — unverified
build-on-celo/build-with-usat.mdx (2) — unverified
build-on-celo/nightfall.mdx (3) — unverified
tooling/wallets/ledger/to-celo-cli.mdx (1) — likely an example address; confirm and label it as such
Celo-core addresses (tooling/contracts/*, fee-currency tables, specs deployments) are out of scope — we own those and they stay.
Definition of done
How we'd know it's fixed
grep -roE '0x[a-fA-F0-9]{40}' tooling/oracles build-on-celo --include='*.mdx' returns only addresses that are Celo-core, explicitly dated-and-verified, or marked as examples. (An activity-watching check would belong to the freshness-automation workstream — explicitly not part of this issue.)
Non-goals
Core-contract tables; the freshness automation itself; re-verifying every provider's uptime.
Priority / size
high — a listed integration address that went dark is user-visible wrong data on an integration path · size M
Part of #2266.
What needs to be done?
Decide and apply one policy: partner pages link to the provider's own docs for contract addresses instead of listing them — then fix or delete the address tables on the six pages that carry them today.
Why (verified 2026-08-24, Blockscout
api/v2)The Witnet page (
tooling/oracles/wit-oracle.mdx) shows how partner addresses rot in place:0x1111AbA2164AcdC6D291b08DfB374280035E1111(price feeds, lines 25–26, 78)WitnetProxy0x3210564cfc8855cad45d6d963118058fe2b80123(not in our docs)WitnetProxy0xC0FFEE98AD1434aCbDB894BbB752e138c1006fAB(randomness, lines 101–103)WitnetRandomnessV20xc0ffee6912244068f3151f55aef20fde504b6e3a(not in our docs)WitRandomnessV3Note the randomness pair: the V3 contract's last recorded tx predates V2's, so it is not obvious which is canonical — exactly the call we cannot make ourselves, and with the link-out policy we do not have to: the provider's docs answer it. (An earlier plan to ask the partner team for the canonical set was dropped for that reason.) The page also still labels its addresses "Alfajores" (retired testnet).
We cannot detect this class of staleness: nothing in CI watches on-chain activity, and the addresses sat in a page that is currently orphaned from nav (#2253 proposes re-navigating it — do not re-nav before this lands).
What the field does
Checked 2026-08-24:
Scope — the six pages with hardcoded addresses (unique-address count at
bdf40b37)tooling/oracles/wit-oracle.mdx(2) — stale, see abovetooling/oracles/band-protocol.mdx(2) — unverifiedbuild-on-celo/build-with-farcaster.mdx(4) — unverifiedbuild-on-celo/build-with-usat.mdx(2) — unverifiedbuild-on-celo/nightfall.mdx(3) — unverifiedtooling/wallets/ledger/to-celo-cli.mdx(1) — likely an example address; confirm and label it as suchCelo-core addresses (
tooling/contracts/*, fee-currency tables, specs deployments) are out of scope — we own those and they stay.Definition of done
AGENTS.md(task: Add AGENTS.md — repo guidance for structure, headings, writing style, and code-example policy #2251 / PR docs(repo): add AGENTS.md — page templates, writing style, code-example policy, agent discoverability #2269): partner/third-party contract addresses are not listed in these docs; link the provider's address catalog. Celo-core contracts keep their tables.wit-oracle.mdxre-nav waits for this fix.How we'd know it's fixed
grep -roE '0x[a-fA-F0-9]{40}' tooling/oracles build-on-celo --include='*.mdx'returns only addresses that are Celo-core, explicitly dated-and-verified, or marked as examples. (An activity-watching check would belong to the freshness-automation workstream — explicitly not part of this issue.)Non-goals
Core-contract tables; the freshness automation itself; re-verifying every provider's uptime.
Priority / size
high — a listed integration address that went dark is user-visible wrong data on an integration path · size M