LIVE · STABLE TESTNET · chainId 2201

Antilles / Shyft RMT stack — deployed & verified on-chain

Reputation + fee + attestation system, live on Stable testnet (native gas USDT0). 18 contracts, deployed fresh, independently verified.
Live proof (read fresh from rpc.testnet.stable.xyz):
chainId 2201 · block 59,324,748 · RMTToken.name() = "Reputational Merit Token" (RMT) · Resolver.reputationEngine() wired ✓ · deployer sent 77 txs · gas spent ~0.04 USDT0 · all 18 contracts return live bytecode ✓

What's deployed

Grouped by layer. Click any address to open it on Stablescan (testnet.stablescan.xyz).
① Attestation infra (Shyft core + identity)
TrustAnchorManager0x8f23…A36F
TrustAnchorStorage0x40F6…C9EFa
ShyftCacheGraph0x40f3…2070
MachineConsentHelper0x4EBE…C9dd
PaymentModule (TAS fee)0x1c2F…A049
SchemaRegistry0xD8eC…1a0e
② Trust channel
TrustChannelManager0x62B3…F759
③ RMT / oracle / citations
★ ShyftGatedResolver0x7224…9cE8
ReputationEngine0x3162…1E87
PageRankOracle0x9548…8e27
CitationCounters0x061b…0c07
RMTToken (RMT)0x0bF4…3A92
Erc8004Registry0xB5E8…1eE1
ERC8004Bridge0xf055…4Acd
DomainRegistry0xd2Dc…D060
DomainFactory0xFF4d…e706
④ Fee
★ FeeRouter0x5bA6…b027

How it flows

A Trust Anchor attests an agent's identity (Shyft, USDT-fee → PaymentModule → FeeRouter split). Attested agents in a trust channel can be cited via the ShyftGatedResolver (EAS), which records into CitationCounters. The off-chain oracle reads citations → PageRank → ReputationEngine (tier-capped reputation).

What I did — the journey

  1. Built the new contracts (FeeRouter, ERC-8004 registry/bridge) + the phased deploy harness + the MachineConsentHelper auto-signer + the auto-co-signer governance. 5 cross-model CODE_REVIEW/AUDIT passes, real defects caught & fixed each round.
  2. Convergence audit 3/3 — Grok + Gemini + Codex all approve the hardened code.
  3. Fork dry-run against the real chain state → COMPLETE, gas measured tiny.
  4. Red-team (independent session) → testnet-safe, no critical/high; 4 findings hardened + re-verified.
  5. Funded: deployer + auto-co-signer from your seed (71 + 30 USDT0).
  6. Attempt 1 FAILED — caught live: a stale local-test ledger made the harness try to reuse 4 addresses that hold foreign contracts on Stable. It fail-closed (reverted) — no bad state shipped.
  7. Root cause fixed — the harness now verifies on-chain code is ours (codehash) before reusing, + binds the ledger to chainId.
  8. Attempt 2: fresh, clean, COMPLETE — all 18 contracts deployed + wired + the trust-channel route live (identity attestation working both directions).
  9. Independently verified on-chain (fresh reads above).

How to explore it yourself

Use Stablescan (blockscout is down right now): testnet.stablescan.xyz
Deployer: 0xD26E5b… (77 txs) Auto-co-signer: 0x7527A3… (11 confirmations) Gas total: ~0.04 USDT0 Commit: e9a9301e
Explorer: testnet.stablescan.xyz · testnet.stablescan.xyz · RPC rpc.testnet.stable.xyz (chainId 2201)
In flight (confirmatory, non-blocking): independent post-deploy codehash verification (antilles-sub) · precise immutable-mask harness refinement for future redeploys (claude-shyft-pay).
Open residuals (testnet-acceptable, tracked): owner-key trust on setBatchAnchor (LOW); mainnet hardening = multisig+timelock all owner keys, decentralize oracle, transfer PaymentModule ownership.