# Ropsten Testnet

RelayHub: 0xAa3E82b4c4093b4bA13Cb5714382C99ADBf750cA (opens new window)

Forwarder: 0xeB230bF62267E94e657b5cbE74bdcea78EB3a5AB (opens new window)

VersionRegistry: 0x9e59Ea5333cD4f402dAc320a04fafA023fe3810D (opens new window)

Accept-Everything Paymaster: 0x5fba514fC9d7215fb22ada57Cd1E20167ba8Fd32 (opens new window)

# Recommeneded Server configuration

gsn-relay-config.json:

{
  "baseRelayFee": 0,
  "pctRelayFee": 70,
  "versionRegistryAddress": "0x9e59Ea5333cD4f402dAc320a04fafA023fe3810D",
  "ownerAddress": "<OWNER_ADDRESS>",
  "gasPriceFactor": 1,
  "confirmationsNeeded": 1,
  "registrationBlockRate": 500000,
  "ethereumNodeUrl": "<NODE_URL>>"
}

# Recommeneded client configuration

  // add the following fields to your GSNConfig:
  const gsnConfig: Partial<GSNConfig> = {
    relayLookupWindowBlocks: 6e5,
    relayRegistrationLookupBlocks: 6e5,
    pastEventsQueryMaxPageSize: Number.MAX_SAFE_INTEGER,
  }
  const gsnProvider = RelayProvider.newProvider({provider: web3Provider, config: gsnConfig})
  await gsnProvider.init()