Native AMM for Sentrix Chain. UniswapV2-equivalent DEX targeting WSRX/stable pairs as the canonical price-discovery layer for SRX.
Status: LIVE on mainnet + testnet since 2026-05-07. Factory + Router02 deployed both chains; first WSRX/SGC pool seeded on mainnet. Live UI: dex.sentrixchain.com — swap, /pools, /add, /remove, /positions surfaces. Internal audit pass shipped 2026-05-07 (1 HIGH
feeToSettertwo-step rotation patched in source for v2 redeploys; deployed factory unaffected). Seedocs/ADDRESSES.mdfor canonical addresses + INIT_CODE_HASH.
SRX has no exchange price today. The cheapest path to real price discovery without paying CEX listing fees + market-maker commitments is a native DEX:
- Deploy AMM contracts on Sentrix mainnet ✅
- Seed first pool from Eco Fund allocation ✅ (WSRX/SGC live on mainnet)
- List pool on DEXScreener / GeckoTerminal (free, automatic indexing) — pending submission
- Use the resulting on-chain volume as proof for CG / CMC / CEX submissions
Without a DEX, every other path stalls because external listings ask "show me the DEX volume."
Standard UniswapV2 fork, ported to Solidity 0.8.24:
| Contract | Role |
|---|---|
SentrixV2Factory |
Creates pairs via CREATE2; admin owns the protocol-fee toggle |
SentrixV2Pair |
The AMM pool itself (mint, burn, swap, skim, sync) |
SentrixV2ERC20 |
LP token base (EIP-2612 permit included) |
SentrixV2Router02 |
High-level user-facing entry point — addLiquidity / swap / removeLiquidity |
SentrixV2Library |
Pure helpers: quote, getAmountOut, getAmountIn, pairFor |
Native SRX wrapping uses the existing canonical WSRX contract — see sentrix-labs/canonical-contracts for the deployed address. Router accepts native SRX via swapExactSRXForTokens etc. and wraps internally.
- Solidity 0.8.24 (vs. 0.5.16) — overflow checks become free;
uncheckedblocks used in the AMM math where the original explicitly asserts no overflow. INIT_CODE_HASHrecomputed for our compiledSentrixV2Pairbytecode and embedded inSentrixV2Library.pairFor— must match the deployed factory's actual creation hash exactly.- 0.30% LP fee retained (UniV2 default). Protocol-fee switch off at launch; can be enabled later via
setFeeTo()to route 1/6 of LP fee to a treasury.
Per deployments/{7119,7120}.json — SentrixV2Factory + SentrixV2Router02 both deployed on each chain. Pair addresses are CREATE2-derived per-asset-pair; query SentrixV2Factory.getPair(tokenA, tokenB) or compute via SentrixV2Library.pairFor(factory, tokenA, tokenB).
Mainnet first pool: WSRX/SGC, seeded 2026-05-07 (100 WSRX + 1M SGC genesis price).
forge build --sizes
forge test -vvv
# Re-deploy (e.g., to a fresh testnet rebuild)
forge script script/Deploy.s.sol --rpc-url sentrix_testnet --broadcastPost-launch direction (no committed timeline):
- Concentrated-liquidity (V3-style) pool flavor
- Router aggregator across multiple pools
- Governance module for protocol-fee parameter changes
- Listing on DEXScreener + GeckoTerminal once volume justifies submission
MIT (UniswapV2 derivative — original copyright preserved in headers).