twofold×2Docs
Documentation › Contracts

Contracts

Robinhood Chain, chain id 4663. Every Twofold contract below is deployed and in use: the current Registry holds 30 listings and the first-generation Registry 30 more, of which 7 are still active and the hook is resting capital in the Steakhouse USDG vault right now. The "first stack" rows are the 2026-08 deployment: its pools stay listed and withdrawable, and the seven that still hold outside deposits stay active; new deposits go to the current contracts. The external addresses are third-party contracts, canonical today.

Twofold contracts

ContractRoleAddress
DualPoolHookUniswap's audited v4 hook, deployed unmodified; every current pool (since 2026-09-05)0xd1BcbCCa41f3bdb6b4812652959c6dF725ea2Ac0
AllowlistedFactoryUniswap's factory pattern; creates every current pool0xa9ab194FB74dFD9991047839aE23A576c8403d95
OperatorControllerV2Owns the current hook; opens and bootstraps pools, harvests gain above basis to the staking vault, within contract-enforced bounds0x705F4f94344feD3f7BA98300F8bC04fdAE570340
VaultAllowlistNames the exact vault addresses current pools may use0x3B1B0f1812a9a09664D82238E94c604D30Bb8134
RegistryOn-chain check that a current pool is genuine0xdF1a23B1A7507Cc3B270DfA78FDD9ddA7bC36325
PoolZapperOne-transaction entry with ETH or USDG alone into a current pool; per-wallet ledger, no owner0x8934A298d3E59a632994ac254Dee19112127f2B7
Range runnerRecenters current pool ranges through the controller; pre-approved shapes only, no other rights0x372f6aedaba9989186e52B1E9d2e7Ea5572aa6cF
DualPoolHook (first stack)Uniswap's audited v4 hook, deployed unmodified0x127B3f3b7769f659C5eDBfF8b4005443f19FAAc0
AllowlistedFactory (first stack)Uniswap's factory pattern; creates every Twofold pool0x92cbCe5d1f5b7018b98bE81a8B9d010B547F0c85
OperatorControllerV2 (first stack)Owns the hook; opens and bootstraps pools, harvests gain above basis to the staking vault, within contract-enforced bounds0xc7295643EC5414DE243e3F9810Eb28F85e5d9ABb
VaultAllowlist (first stack)Names the exact vault addresses pools may use0xe44C0d41A1aFbF7234492bb7a3F745246c351C42
Registry (first stack)On-chain check that a pool is genuine0x1b66DD14C9281A18E696dbdb40cFB5070842c0C2
StakingVaultV2Vault 1, retired: no new stake; unstake (1 hour cooldown) and claims stay open0x06E463fDa4BEb4aA096142E673240aB9719fB3A9
TwoStakingUSDGVault 2: stake TWO, earn USDG; per-second stream, 7-day unstake cooldown, 400,000,000 TWO cap0x9CF18bB1dD9AfBF75B579Cc0C473B2975c16E9e3
TwofoldTokenTWO, fixed supply, no mint, no owner0x2A4a33A2163D005d8E7f1D9aC08d14c98db288d5
VoteTokenvTWO, wrap TWO 1:1 for voting power, unwrap any time, no owner0x5c02401e945d86FB7109EC77F358498D6DA05950
PoolVotingOn-chain signaling votes on Twofold proposals, weighted by vTWO0x6FDcc4A912b0f7d73251b7a719Aa2943734fD6E7
SafeMultisig that proposes every owner change; holds no funds and cannot execute one on its own0xB3eAb283ee90eC5333935C3526EB61D741836D09
TimelockControllerOwns the allowlists, controllers and registries; every owner change queues in public for 24 hours before it can run0x055a4f9583790e929a309cb0146280b1589A46FE
PoolZapper (first stack)One-transaction entry with ETH or USDG alone; per-wallet ledger, no owner0x2eF1C576797a51FB60B25d9f946D2562d2d2F9Fc
Range runner (first stack)Recenters pool ranges through the controller; pre-approved shapes only, no other rights0x2Bd61C3364e3D8dD7454cC5f1C47324fc2ACE35d
PositionLockerPermanent lock on the TWO/WETH genesis liquidity; fees claimable by anyone, no exit path0x485690D46e344127aa2EB45D8d9BAcbb5856D58b

External addresses

ContractAddress
Uniswap v4 PoolManager0x8366a39cc670b4001a1121b8f6a443a643e40951
Uniswap v4 PositionManager, holds the locked genesis position NFT0x58daec3116aae6D93017bAAea7749052E8a04fA7
WETH0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73
Steakhouse USDG vault0xBeEff033F34C046626B8D0A041844C5d1A5409dd
USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

This is one section of the Twofold documentation. Read all of it.