Your Cross-Chain Address
CREATE · ONE CALL
ROLLUP 1
myContract
0xC0ffEE…4979
createCrossChainProxy
→
ROLLUP 2 · THIS MANAGER
proxy(myContract)
0x7d3F…9bA1
returns
0x7d3F…9bA1
deployed · authorizedProxies[proxy] = ProxyInfo(true, …)
One transaction. The manager on rollup 2 deploys the proxy and records it as authorized in the same call. You rarely have to: the protocol runs this same path itself, through getOrCreateCrossChainProxy, the first time a call arrives from that address.
DAPP DEVELOPERS
How to get your contract's address on another rollup
Your contract lives on one rollup. On every other rollup it has a stand-in — a proxy — and anything there that wants to reach your contract calls the stand-in instead, which EEZ routes home.
The stand-in's address is derived from your address, your own rollup id, and the manager on the far side (its address and its PROXY_INIT_CODE_HASH), so you can compute it before anything is deployed.
New here? Start with the Quickstart →
WHAT YOU'LL LEARN
- 01 · CALL IT INTO EXISTENCEOne call deploys the proxy, registers it, and returns the address.
- 02 · OR READ IT FIRSTA view call reads that address before anything is deployed.
- 03 · THE ONE RULERemote addresses only — a proxy for your own network reverts.
Verified against eez-core-protocol Git commit 9a1f815; interfaces may move.
The FULL file uses a stand-in proxy, so its addresses differ from a live manager’s. For a real one, call computeCrossChainProxyAddress on the manager of the chain the proxy lives on.