Contract addresses
Every address: the token, the sixteen locked pools, the sink, and the pools that explicitly don't count.
This registry defines what counts as locked — not API availability, not what a data aggregator lists. If a pool is here it's locked; if it's in the last table it isn't, regardless of how it appears elsewhere.
Core#
| Label | Address |
|---|---|
| ODIN token (ERC-20, Ethereum mainnet) | 0xDfC5964141c018485b4d017634660f85aa667714 |
| Dead address (LP burns) | 0x000000000000000000000000000000000000dEaD |
The sixteen locked pools#
All Uniswap V2 on Ethereum mainnet.
Direct pairs (1–15)#
| # | Pair | Pool address |
|---|---|---|
| 1 | ODIN/WETH | 0x01dbAa18e86F65DF04cE9F897d2cAb22Ef0c26CB |
| 2 | ODIN/TSUKA | 0xc0376b0Cbc8E92BCC21e6B9a2f1a2351E714C6E6 |
| 3 | ODIN/WBTC | 0xAd673E520Aada71CF73CD8e257A5d50c78EB01a0 |
| 4 | ODIN/PEAS | 0xBaF9705037c14ad072A0DAF87Cd113de1A2A2F51 |
| 5 | ODIN/PAXG | 0x2808F174244D17F1878ec03fd111222A4E4e4892 |
| 6 | ODIN/OHM | 0x08B30F89b3152E9815c79D8cf59eF8425693B08d |
| 7 | ODIN/DAI | 0x6c027635A22FaaF29b9F565D543f91236c1864FE |
| 8 | ODIN/LINK | 0x62cB46A15589aC8712610AF26235Bfe99B9f553f |
| 9 | ODIN/APU | 0x37C7Fde50966F36c3c5ff3379f817bf6A8C9745C |
| 10 | ODIN/APE | 0xFA7ea3c400115f67690E8b21Bfec5Da8C539a18D |
| 11 | ODIN/WAIT | 0x348B9E201641a10A824Fc607383Ba2B455C23D79 |
| 12 | ODIN/SHIB | 0x3FeB0845e90F49c010C7704e44af829ACB9e61d1 |
| 13 | ODIN/OHMI | 0xdDf33339f86CcD48fFEd72b0F22C6e9669b1e2AB |
| 14 | ODIN/SOJ | 0x440944d4f7b7A32349724612b757a1d5f1E624B9 |
| 15 | ODIN/DBI | 0x97EEd004224B6c68B6752D89207CaB28c8fbD09e |
Pools 12–15 trade rarely, so market data APIs often return nothing for them. They are burned on-chain exactly like the rest. Dormant is about attention, not liquidity.
Paired token addresses#
| Token | Address |
|---|---|
| WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 |
| TSUKA (Dejitaru Tsuka) | 0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD |
| WBTC | 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 |
| PEAS (Peapods Finance) | 0x02f92800F57BCD74066F5709F1Daa1A4302Df875 |
| PAXG (Pax Gold) | 0x45804880De22913dAFE09f4980848ECE6EcbAf78 |
| OHM (Olympus) | 0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5 |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F |
| LINK (Chainlink) | 0x514910771AF9Ca656af840dff83E8264EcF986CA |
| APU | 0x594DaaD7D77592a2b97b725A7AD59D7E188b5bFa |
| APE | 0x4d224452801ACEd8B2F0aebE155379bb5D594381 |
| WAIT | 0x2559813BBb508C4C79e9CCCE4703Bcb1f149EDd7 |
| SHIB | 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE |
| OHMI (One Hundred Million Inu) | 0x4159862bcf6b4393a80550b1ed03dffa6f90533c |
| SOJ (Sun of Jebel) | 0x5830d25d257e46084361f8dc5e758736fd45a27a |
| DBI (Don't Buy Inu) | 0x2de509bf0014ddf697b220be628213034d320ece |
OHMI is easy to get wrong. One Hundred Million Inu is 0x4159...533c. There is an unrelated token family at 0xA992...1ca4. They are not the same thing.
The sink (16)#
| Label | Address |
|---|---|
| pValhalla/pOHM pool (Uniswap V2) | 0x4Bcd9c0397401232eA65F6790aA8a3837FdBC8B1 |
| spValhalla (staked-LP receipt) | 0x80517Ad00bb79079DAdf009a9F6c6B8534F2fb80 |
The ODIN/TSUKA locker#
| Label | Address |
|---|---|
| Unicrypt (UNCX) locker holding 60.20% of the LP | 0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214 |
Lock ownership transferred to the dead address 2023-02-07, tx 0x6194d7a8...b2a9. Why this is equivalent to a burn.
Peapods ecosystem#
| Label | Address |
|---|---|
| pValhalla (pod wrapping ODIN) | 0xA77013378dAc318802ddDF40bD7C7EF5dB594c95 |
| pOHM (pod wrapping OHM) | 0x88E08adB69f2618adF1A3FF6CC43c671612D1ca4 |
| PEAS | 0x02f92800F57BCD74066F5709F1Daa1A4302Df875 |
Permanently locked position: 33,333,333 pValhalla at the dead address.
Pairs that are NOT locked#
These hold real ODIN and appear in "all pools" totals on third-party aggregators. None carries any permanence guarantee. They never receive the locked designation, and they're listed here so nobody has to guess.
| Pair | Venue |
|---|---|
| ODIN/CRYPTO | Uniswap V4 |
| ODIN/SKOL | Uniswap V2 0xAdEdD22b22D7dd489e2a98757B4f94DC45F1A17a |
| IMF/ODIN | Uniswap V4 |
| ODIN/TSUKA | Uniswap V3 0.3% 0x90572936b797ff67a253b79d2242976250d81d97 |
| ODIN/WETH | Uniswap V3 0.3% 0x246e30c41c647ee4bfe7a35da16a040295dc6663 |
| ODIN/WETH | Uniswap V3 0.01% 0x08999d312e8ce45d54560f6e9326fc254d275ab8 |
| ODIN/WETH | Uniswap V3 1% 0xfc436dd3b17c926127e3f6b3a71d96d983f2b70c |
| ODIN/BEARDY | Uniswap V3 0x8d9870ac91b9b52ccad6ff808052716e4214f7a8 |
V3 pools are easy to miss and expensive to miss. They hold no ERC-20 LP token, so they never appear in an LP-token holder scan, and ODIN sent into one looks exactly like a wallet-to-wallet transfer.
Derive them from the V3 factory (0x1F98431c8aD98523631AE4a59f267346ea31F984, getPool(tokenA, tokenB, fee), fee tiers 100 / 500 / 3000 / 10000) before making any claim about "all pools." Omitting them has produced materially wrong analysis before.
Other chains#
Canonical ODIN exists only on Ethereum mainnet. No bridged or wrapped ODIN exists on any other chain.
Any same-ticker asset on another chain is a different asset. Chains and bridging.
Uniswap references#
| Label | Value |
|---|---|
| Uniswap V2 factory | 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f |
| V2 init code hash | 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f |
| Uniswap V3 factory | 0x1F98431c8aD98523631AE4a59f267346ea31F984 |
Deriving a V2 pair address: sort the token addresses, then
keccak256(0xff ++ factory ++ keccak256(token0 ++ token1) ++ init_code_hash)[12:]
Incorrect versions of the V2 init code hash circulate widely online. Use the one above.