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 is not listed on any centralised exchange yet — there is no CEX order book or market-maker commitment behind it. Price discovery so far happens entirely on-chain through the AMM pools deployed here. The cheapest path to broader external recognition (DEXScreener, CG, CMC, eventual CEX listings) is to seed liquidity natively and let the on-chain volume speak for itself.
- Deploy AMM contracts on Sentrix mainnet ✅
- Seed first pool from Eco Fund allocation ✅ (WSRX / SGC live on mainnet — small initial depth, see
scan.sentrixchain.comfor current liquidity + 24 h volume) - List pool on DEXScreener / GeckoTerminal (free, automatic indexing) — pending submission
- Use the resulting on-chain volume as proof for CG / CMC / CEX submissions
Note
Initial pool depth is small by design — the Eco Fund seeded a minimum-viable amount, not market-making liquidity. Quoted prices from a thin pool can swing sharply on small trades; check the live pool state on the explorer before sizing any execution.
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).