Back to all services Back to all services
XRPL logo

XRPL EVM

Sidechain

chainID: xrplevm_1449000-1 TESTNET

XRPL EVM Testnet — State Sync

Sync your XRPL EVM node instantly from Cumulo’s public state-sync providers

RPC Servers

Primary RPC (HTTPS)

https://rpc.testnet.xrpl.cumulo.me:443

Secondary RPC

http://148.72.141.64:26617

Quick Setup

# Reset (keeps addrbook) exrpd comet unsafe-reset-all --home ~/.exrpd --keep-addr-book rm -rf ~/.exrpd/data/light 2>/dev/null || true # Pick two RPCs (comma-separated, no spaces) SNAP_RPC_1="https://rpc.testnet.xrpl.cumulo.me:443" SNAP_RPC_2="http://148.72.132.8:26657" SNAP_RPC="$SNAP_RPC_1,$SNAP_RPC_2" # Work out trust height/hash (fallback to RPC_2 if RPC_1 fails) LATEST_HEIGHT=$(curl -s $SNAP_RPC_1/block | jq -r .result.block.header.height) [ -z "$LATEST_HEIGHT" -o "$LATEST_HEIGHT" = "null" ] && LATEST_HEIGHT=$(curl -s $SNAP_RPC_2/block | jq -r .result.block.header.height) TRUST_HEIGHT=$((LATEST_HEIGHT - 2000)) TRUST_HASH=$(curl -s "$SNAP_RPC_1/block?height=$TRUST_HEIGHT" | jq -r .result.block_id.hash) [ -z "$TRUST_HASH" -o "$TRUST_HASH" = "null" ] && TRUST_HASH=$(curl -s "$SNAP_RPC_2/block?height=$TRUST_HEIGHT" | jq -r .result.block_id.hash) echo "TrustHeight=$TRUST_HEIGHT Hash=$TRUST_HASH" CFG="$HOME/.exrpd/config/config.toml" # Enable State Sync (keys live under the [statesync] section) sed -i.bak -E \ -e 's|^(enable[[:space:]]*=).*|\1 true|' \ -e "s|^(rpc_servers[[:space:]]*=).*|\1 \"$SNAP_RPC\"|" \ -e "s|^(trust_height[[:space:]]*=).*|\1 $TRUST_HEIGHT|" \ -e "s|^(trust_hash[[:space:]]*=).*|\1 \"$TRUST_HASH\"|" \ -e 's|^(trust_period[[:space:]]*=).*|\1 "168h0m0s"|' \ "$CFG" # P2P: clear seeds and set your persistent peer sed -i -E \ -e 's|^seeds *=.*|seeds = ""|' \ -e 's|^persistent_peers *=.*|persistent_peers = "cfda29999670da51663449d0ba39247dd1e03efe@148.72.132.8:26656"|' \ "$CFG" sudo systemctl restart exrpd sudo journalctl -fu exrpd -o cat | grep -E "Discovered new snapshot|Fetching snapshot|Applied snapshot|finalized block"