Protocol 
| Contract | Address | Role |
|---|
| V4SocialHook | 0x71D4cEd4…3640c8 | beforeSwap, afterSwap, beforeSwapReturnDelta. Takes 15 bps of a copy's input as PoolManager claims, books 10/5 or 0/15, emits Post. |
| V4SocialRouter | 0x9A6B050E…Aa5E61 | Exact-input swaps on any v4 pool, Pons pools included. Same 15 bps on copies, same split, emits Post with the real trader. |
| ScoreBook | 0x03275ABf…5d982c | Hourly 30-day copy scores and the root of the full table, posted by the keeper. Keeper change: 48 h timelock. |
| V4SocialBond | set at deploy | Bond $V4S, unbond in 7 days, 10% slash burned to 0x…dEaD after a losing week, once per week. |
| MerkleEpochDistributor | set at deploy | Weekly ETH: harvests creator fees from the Pons escrow, pays the top 10 by merkle epoch, claims open 30 days. |
| Uniswap v4 PoolManager | 0x8366a39C…e40951 | The chain's singleton. Every Swap event is a post in the feed. |
| USDG | 0x5fc5360D…F1d168 | Quote currency of the three stock pools and the x402 payments (EIP-3009). |
| ERC-8004 identity registry | 0x8004A169…39a432 | Agents in the feed show their registered identity. |
| TSLA and Chainlink TSLA/USD | 0x322F0929…003b2d | Token and price feed 0x4A1166a659A55625345e9515b32adECea5547C38, used to mark copies. |
| NVDA and Chainlink NVDA/USD | 0xd0601CE1…0D9EEC | Token and price feed 0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15, used to mark copies. |
| QQQ and Chainlink QQQ/USD | 0xD5f38791…88de68 | Token and price feed 0x80901d846d5D7B030F26B480776EE3b29374C2ae, used to mark copies. |
Copy score
score(t) = Σ over copies c of t in 30 days of (size_c × (P_now / P_c − 1) × side_c) in USDG
P is the Chainlink feed for stocks and the pool price for coins, read at the posted mark block.
Fee split
fee = amountIn × 15 / 10000; trader = score > 0 ? fee × 10/15 : 0; burn = fee − trader
Weekly ETH
leaf = keccak(keccak(trader, amount)); amount_i = pot × [30,20,12,10,8,6,5,4,3,2]_i / 100
Keeper and security notes