Quickstarts
Send & Test Cross-Chain Calls
STEP 1 OF 3
NEXT WALKTHROUGH: How the four components divide the work →
PREREQUISITE
Bring the Chiado stack from step 03 up first (scripts/chiado-up.sh) — xchain-test.sh exits if the node container or deployments.env is missing.
ENDPOINTS · README.md · the chiado compose stack
L2 RPC
http://localhost:18688
L2 eth_*
Embedded chiado L1 RPC
http://localhost:18645
L1 eth_* (the composer's L1 view)
L1→L2 front (Inbound)
http://localhost:18999
PROXY
send L1-origin cross-chain txs here
L2→L1 front (Outbound)
http://localhost:18998
PROXY
send L2-origin cross-chain txs here
signed tx enters the EEZ dispatcher
→
held, composed into the next Sync block
ordinary tx · other eth_*
→
forwarded unchanged to the source chain
The fronts are transparent proxies, not separate chains: each signed tx is classified with a read-only call trace, and if tracing is unavailable it is held (fails closed). These ports are the compose stack's; a Kurtosis devnet assigns its own — source testing/kurtosis/ports.sh.
ROLLUP OPERATORS

How to send and test a cross-chain call

Two transparent proxy fronts sit in front of L1 and L2: a signed tx that enters the EEZ dispatcher is held for the next Sync block, while ordinary traffic passes straight through.

Bring the stack from step 03 up first, then drive both fronts to read the pipeline's own pass/fail numbers.

WHAT YOU'LL LEARN
  • 01 · TWO FRONTS, ONE JOBA cross-chain tx is held for the next Sync block — once per L1 block; ordinary txs are forwarded to the source chain.
  • 02 · MIND THE BUNDLE SIZEEEZ_MAX_USER_TXS_PER_BUNDLE=auto admits a FIFO prefix per Sync block; overflow stays queued, and a tx that fails settlement three times is evicted.
  • 03 · EXERCISE ITxchain-test.sh drives both fronts through the full matrix and prints a RESULTS block of pipeline metrics.

Verified against eez-rollupX Git commit 2c19e36; interfaces may move.

UP NEXTHow the four components divide the work