PulseChain DEX Contract Addresses
35 contracts from five exchanges, each taken from the exchange’s own app or code and read on chain on 2026-10-12.
An approval lets one address move your tokens. An address copied from a chat, a search ad or a lookalike site can be someone else’s contract, and an approval given to it can let that contract take the approved token from the wallet. The exchange’s own app or code is the source each address here was checked against; its link sits above each table.
None of these exchanges publishes a documentation page of its addresses, so each list below comes from the exchange’s own app or its own code repository. Every address was then read on PulseChain: code is present, each pool router’s factory() (for the PulseX Swap Router, factoryV1() and factoryV2()) returns the factory listed beside it, and each helper of the Phux Vault points back to that Vault. The 9mm Universal Router and the Piteas Router have no factory to read; for them the chain confirms code only. The column on the right says what the chain confirmed for that line.
PulseX
Source: the official app build app.pulsex.com links to ↗
| Contract | Address | What the Chain Confirms |
|---|---|---|
| v1 Factory | 0x1715a3E4A142d8b698131108995174F37aEBA10D | 65,420 pools listed |
| v1 Router | 0x98bf93ebf5c380C0e6Ae8e192A7e2AE08edAcc02 | Its factory() is the PulseX v1 Factory above |
| v2 Factory | 0x29eA7545DEf87022BAdc76323F373EA1e707C523 | 190,856 pools listed |
| v2 Router | 0x165C3410fC91EF562C50559f7d2289fEbed552d9 | Its factory() is the PulseX v2 Factory above |
| Swap Router (the app uses this one) | 0xDA9aBA4eACF54E0273f56dfFee6B8F1e20B23Bba | Routes v1, v2 and Stable; both factories match |
| StableSwap Pool (DAI, USDC, USDT) | 0xE3acFA6C40d53C3faf2aa62D0a715C737071511c | coins(): bridged USDT, USDC and DAI |
| Stable LP Token | 0xC607606C0DC9B084D4e4458449963a975a762093 | symbol(): Stable-LP |
| WPLS (Wrapped PLS) | 0xA1077a294dDE1B09bB078844df40758a5D0f9a27 | Every router’s wrapped-PLS token |
9mm
Source: 9mm’s own deployments list on GitHub, matched to its live app ↗
| Contract | Address | What the Chain Confirms |
|---|---|---|
| v2 Factory | 0x3a0Fa7884dD93f3cd234bBE2A0958Ef04b05E13b | 3,523 pools listed |
| v2 Router | 0xcC73b59F8D7b7c532703bDfea2808a28a488cF47 | Its factory() is the 9mm v2 Factory above |
| v3 Factory | 0xe50DbDC88E87a2C92984d794bcF3D1d76f619C68 | Creates the v3 pools; fee tiers set on chain |
| v3 Pool Deployer | 0x00f37661fA1b2B8A530cfb7B6d5A5a6AEd74177b | Named by the v3 Factory’s poolDeployer() |
| v3 Swap Router | 0x7bE8fbe502191bBBCb38b02f2d4fA0D628301bEA | Its factory() is the 9mm v3 Factory |
| Smart Router (v2 + v3) | 0xa9444246d80d6E3496C9242395213B4f22226a59 | Its factory() and factoryV2() are 9mm’s v3 and v2 Factories |
| v3 Position Manager (LP NFTs) | 0xCC05bf158202b4F461Ede8843d76dcd7Bbad07f2 | Its factory() is the 9mm v3 Factory |
| v3 Quoter | 0x500260dD7C27eCE20b89ea0808d05a13CF867279 | Its factory() is the 9mm v3 Factory |
| Mixed-Route Quoter | 0xBa53762F281A293B6bE73C9D2d3b740C433635cA | Its factory() is the 9mm v3 Factory |
| Universal Router (the app uses this one) | 0x6541B436b0604244e04025a959dd93973E83F60D | Has code; source not verified on the explorer |
| Permit2 (the app uses this one) | 0x97D143Ef1223e90Ce50b5910eA5aACABFe4e1152 | Not the standard Permit2; approvals do not carry over |
9inch
Source: the contract list inside 9inch’s live app ↗
| Contract | Address | What the Chain Confirms |
|---|---|---|
| v2 Factory | 0x5b9F077A77db37F3Be0A5b5d31BAeff4bc5C0bD7 | 9,886 pools listed |
| v2 Router | 0xeB45a3c4aedd0F47F345fB4c8A1802BB5740d725 | Its factory() is the 9inch v2 Factory above |
| v3 Factory | 0xCfd33C867C9F031AadfF7939Cb8086Ee5ae88c41 | Creates the v3 pools; fee tiers set on chain |
| v3 Pool Deployer | 0x271D051043B9491a0D7096C236E4484b49e4f8e0 | Named by the v3 Factory’s poolDeployer() |
| v3 Swap Router | 0xbC3D9Cb730DF31889256B920d458a75B3D880d7B | Its factory() is the 9inch v3 Factory |
| Smart Router (v2, v3 + Stable) | 0x42556A17EF0Bd815bF21aD628DFd2e2f3b5F9ac7 | Its factory() and factoryV2() are 9inch’s v3 and v2 Factories |
| v3 Position Manager (LP NFTs) | 0x18A532b36A9F6B10b3FEC5BF225C00A0Ec89B79E | Its factory() is the 9inch v3 Factory |
| v3 Quoter | 0x6F356798712906C3439799eD9fea4a35C7A5a0ba | Its factory() is the 9inch v3 Factory |
| StableSwap Factory | 0xFf349a8B74542cA5B952E930FAad17069D0f1f73 | Named by the SmartRouter’s stableSwapFactory() |
Phux
Source: the contract list inside Phux’s live app ↗
| Contract | Address | What the Chain Confirms |
|---|---|---|
| Vault | 0x7F51AC3df6A034273FB09BB29e383FCF655e473c | Its WETH() is WPLS; its Authorizer is below |
| Authorizer | 0x3a68EE6D3849C4776130f13Cd86F0BcC0738F4C3 | The Vault’s getAuthorizer() |
| Balancer Helpers | 0x49bdEAd680C985f3846F7c5AA599071D5bC7c36f | Points back to the Vault above |
| Batch Relayer | 0x082B76a5420c3a9E3Eca03A0531eac33928Ff702 | Points back to the Vault above |
| Weighted Pool Factory | 0x354A816f7049f8D0E3db970786aB9204E3E4E7C7 | Points back to the Vault above |
| Stable Pool Factory | 0x91ABBd74ace511fE5fFe4937bF8f9Ab5a1c2ba5E | Points back to the Vault above |
Piteas
Source: Piteas’s own contracts README on GitHub, matched to its live app ↗
| Contract | Address | What the Chain Confirms |
|---|---|---|
| Router | 0x6BF228eb7F8ad948d37deD07E595EfddfaAF88A6 | Verified source on the explorer: PiteasRouter |
What the Reading Turned Up
- Two PulseX routers share one name. The v1 and v2 routers are both called PulseXRouter02 on the explorer; only
factory()tells them apart. The PulseX app itself swaps through a third, the Swap Router. - 9mm’s app uses its own Permit2. PulseChain carries the standard Permit2 at 0x000000000022D473030F116dDEE9F6B43aC78BA3 and 9mm’s at the address in its table; an approval given to one does not cover the other. The app also swaps through a Universal Router that 9mm’s GitHub list does not include.
- 9inch’s app carries Ethereum addresses too. Its contract list includes an Ethereum factory and router that have no code on PulseChain; only the PulseChain addresses are listed here.
- SparkSwap is not listed. On 2026-10-12 its site and documentation were a parked domain, so there was no source of its own to check an address against.
Each address links to the PulseChain explorer. Pool counts are the factories’ own allPairsLength() on 2026-10-12. An exchange can deploy new contracts at any time; when its app changes address, the app is the newer source.
