Both live on XPR Network, non-custodial, with a fee ceiling the contract itself enforces.
Read from test.proton.eosusa.io in your browser. The pool ratio is a spot ratio of the reserves, not a quote: a swap moves along the curve and pays the pool fee.
Every path that can set a fee checks the same constant. init, setconfig and setmktfee each refuse a value above one hundred basis points, so one percent is the most anyone holding any key can charge you, us included. The fee is taken from the quote leg only, so a fill costs you once rather than on both sides of the trade.
For comparison, Alcor’s equivalent ceiling is 255 basis points, and it is a consequence of the fee field being a uint8 rather than a cap anyone chose. It charges both legs. Both figures were read from its live contract on 2026-09-03; the working is in this repository’s Alcor comparison.
curl -s -X POST https://test.proton.eosusa.io/v1/chain/get_code_hash \
-d '{"account_name":"xprdexbookr1"}'sha256 of the bytecode deployed at xprdexbookr1 right now
reading the hash from test.proton.eosusa.io
Launch app is a dead end without them, so they are on the front page rather than behind it.
WebAuth keeps testnet accounts separate from mainnet ones, so a wallet you already have will not work here. Make one at testnet.webauth.com.
The one market is XPR against XUSDC, so you need both. The faucet pays 1000 XPR and 100 XUSDC per account per 24 hours.
The book is usually empty, so a limit order rests until someone crosses it. The pool always quotes, so a swap fills immediately.
npx proton chain:set proton-test
npx proton faucet:claim XPR <your-account>@active
npx proton faucet:claim XUSDC <your-account>@active