Quick start
Connect without surrendering control.
- Open the exact domain. Use
https://clowder.roko.network. - Connect an EVM-compatible wallet. Clowder asks the wallet to switch to chain ID
52370(0xcc92). - Confirm balances. The transaction form shows available ROKO, CATBOT, or LP test tokens before submission.
- Review the quote. Check input, estimated output, protected minimum, fee, and slippage.
- Read the wallet preview. Cancel if its contract, amount, chain, or method differs from the page.
Swaps
One asset in, one asset out.
Clowder is a constant-product pool. A ROKO-to-CATBOT swap sends native ROKO to the pool and returns CATBOT. A CATBOT-to-ROKO swap first needs a CATBOT allowance, then transfers CATBOT into the pool and returns native ROKO.
Slippage protection
A limit, not a prediction.
Slippage is the maximum movement you accept between the displayed estimate and on-chain execution. A lower number is stricter and may revert more often; a higher number allows a worse result and increases exposure to public-mempool price movement.
Clowder encodes the protected minimum into every swap and liquidity call. If the pool can no longer meet that amount, the contract reverts atomically. A revert still consumes network gas, but it does not exchange or deposit the test tokens.
Liquidity
Supply the current ratio.
When adding liquidity, the ROKO and CATBOT fields are maximums. The V2 pool computes the ratio-correct amounts, transfers only the CATBOT used, refunds unused ROKO in the same transaction, and mints LP test tokens representing your share.
Removing liquidity burns LP test tokens and returns the proportional ROKO and CATBOT reserves. LP positions are exposed to impermanent loss and smart-contract risk, even though this testnet position has no monetary value.
Before signing
Treat the wallet preview as the final authority.
- Network: ROKO Testnet (Beta), chain ID
52370. - CATBOT:
0xbbFD2d053C2460a57c2591F55f2dB0595e3336f9. - Current V2 pool:
0xa8b6127c32f18a62A167c9030113d6F0a3183874. - An approval should name CATBOT as the token and the current pool as spender.
- A swap or liquidity call should match the amount and direction shown by Clowder.
- If anything differs, cancel. A canceled wallet prompt does not submit a transaction.
Troubleshooting
Understand a failed call.
“Insufficient CATBOT balance”
Reduce the CATBOT input or maximum below the displayed available balance. Slippage cannot make up a token shortfall.
“Protected minimum is no longer available”
Pool state changed after the quote. Refresh first; increase slippage only if you deliberately accept the wider boundary.
“Deadline expired”
The quote is older than ten minutes. Refresh and create a new wallet request.
Transaction remains pending
Open the transaction in the ROKO explorer before trying again. Repeated submissions can create duplicate actions.
Scam safety
Testnet does not mean risk-free.
- ROKO will never ask for a seed phrase, private key, or remote wallet control.
- Do not pay anyone for ROKO, CATBOT, or Clowder LP test tokens.
- Promises of returns, guaranteed profit, or mainnet value are not official beta claims.
- Ignore unsolicited wallet prompts and copied domains.
- Official support can explain a transaction; it never needs your wallet secrets.
First-party data
Historical views with reproducible provenance.
ROKO indexes Clowder swap events from its own RPC and produces versioned raw-trade and OHLCV datasets. Each file identifies the chain, pool, source block range, generation time, and aggregation interval. The public chart uses TradingView Lightweight Charts™ as a rendering library; no TradingView market feed is used.
Anyone can rebuild the same candles from the public event log. Liquidity events remain available as separate provenance records, while OHLCV price and volume come only from completed swaps.
On-chain catalog
Moderated discovery without pool control.
A separate Clowder catalog maps reviewed pool addresses, asset contracts, versions, bytecode hashes, metadata hashes, and status. Registrars may propose a listing. Catalog admins may approve, reject, deprecate, or select the canonical pool.
Rejected and deprecated listings remain queryable, and status changes emit events. Catalog roles cannot move liquidity, pause a pool, change swap math, upgrade bytecode, or withdraw user assets.
Operator runbook
Deploy, verify, then list.
- Compile and test. Run
npm ciandnpm test; retain the reviewed commit hash. - Preview catalog deployment. Run
npm run deploy:catalogwithout--execute. - Deploy with scoped signing. Supply the key through a protected file descriptor or OpenBao-backed file, then repeat with
--execute. - Deploy and propose a pool. Use
npm run deploy:pool-and-listfirst in dry-run mode. Review chain, asset, bytecode, metadata hash, and expected signer. - Moderate separately. A wallet holding
CATALOG_ADMIN_ROLEusesnpm run catalog:adminwith--approve,--reject,--deprecate, or--canonical. - Activate only after verification. Confirm pool bytecode, immutable asset wiring, reserves, LP custody, deployment receipt, and indexed metadata.