Skip to main content


The Polkadot gateway acts as a bridge between your Polkadot node and the Marlin relay network, enabling them to understand and talk to each other. In addition, it handles most of the Marlin related interactions for you like optimizing peer sets, attesting messages, generating tickets, etc.


This section assumes that marlinctl is installed already. See here if you have not installed it.

Step 1: Generate a client identity for the gateway by running the below command and entering a passphrase when prompted

sudo marlinctl gateway dot keystore create

Step 2: Create the gateway (currently using staking data from kovan)

sudo marlinctl gateway dot create --bootstrap-addr ""

Step 3: Retrieve the polkadot identity of the gateway by checking the logs

sudo marlinctl gateway dot logs

Look for a line like Local node identity is: <IDENTITY>, the alphanumeric string at the end is the identity.

Step 4: Add the gateway as a persistent peer to your polkadot node by passing it as a --reserved-nodes parameter

# Use the identity obtained above

polkadot --reserved-nodes "/ip4/<GATEWAY_IP>/tcp/20900/p2p/<IDENTITY\>"

That's it!