Skip to main content

Origins & Destinations Image

Overview

Reactive Contracts (RCs) can listen to event logs on one chain and trigger actions on another. To describe that flow, we use two roles:

  • Origin — the chain where events happen and event logs are read from (the event source).
  • Destination — the chain where Reactive Network delivers a callback transaction (the chain where state changes happen).

Origins and destinations don’t have to be the same. A single Reactive Contract can subscribe to events from multiple origin chains, and it can send callbacks to one or more destination chains. Your Solidity logic can also choose the destination conditionally.

Callback Proxy Address

Callbacks are delivered to destination chains via a Callback Proxy contract. Its job is to make callback transactions verifiable and safe for destination-side contracts.

A destination contract can validate a callback by checking:

  1. The sender is the Callback Proxy (so the call is coming through the expected entry point).
  2. The embedded RVM ID matches the intended Reactive Contract (so the callback is tied to the correct RC).
Hyperlane

Some networks can’t act as destination chains yet because the Callback Proxy contract hasn’t been deployed there. In that case, use Hyperlane as the transport for cross-chain callbacks.

Mainnet Chains

Origin/Destination

Origin is the chain where events originate (and are read from). Destination is the chain where callbacks are delivered in response to those events. Mainnets and testnets must not be mixed: if the origin is a mainnet, the destination must also be a mainnet.

ChainOriginDestinationChain IDCallback ProxyRPC
Abstract 27410x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist
Arbitrum 421610x4730c58FDA9d78f60c987039aEaB7d261aAd942EChainlist
Avalanche 431140x934Ea75496562D4e83E80865c33dbA600644fCDaChainlist
Base 84530x0D3E76De6bC44309083cAAFdB49A088B8a250947Chainlist
BSC 560xdb81A196A0dF9Ef974C9430495a09B6d535fAc48Chainlist
Ethereum 10x1D5267C1bb7D8bA68964dDF3990601BDB7902D76Chainlist
HyperEVM 9990x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist
Linea 591440x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist
Plasma 97450x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist
Reactive 15970x0000000000000000000000000000000000fffFfFhttps://mainnet-rpc.rnk.dev/
Sonic 1460x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist
Unichain 1300x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist

Testnet Chains

Origin/Destination

Origin is the chain where events originate (and are read from). Destination is the chain where callbacks are delivered in response to those events. Mainnets and testnets must not be mixed: if the origin is a testnet, the destination must also be a testnet.

ChainOriginDestinationChain IDCallback ProxyRPC
Avalanche Fuji43113Chainlist
Base Sepolia845320xa6eA49Ed671B8a4dfCDd34E36b7a75Ac79B8A5a6Chainlist
BSC Testnet97Chainlist
Ethereum Sepolia111551110xc9f36411C9897e7F959D99ffca2a0Ba7ee0D7bDAChainlist
Reactive Lasna53180070x0000000000000000000000000000000000fffFfFhttps://lasna-rpc.rnk.dev/
Polygon Amoy80002Chainlist
Unichain Sepolia13010x9299472A6399Fd1027ebF067571Eb3e3D7837FC4Chainlist