2 · Get a Polymarket API key
Your bot moves money through Polymarket's relayer — wrapping USDC.e to the tradable token and redeeming winnings. Orders use Polymarket’s CLOB. The relayer needs an API key issued for this bot's own EOA. This is a manual step on Polymarket and there is no way around it.
Sign in to Polymarket as the bot's wallet and create the relayer API credentials for that wallet. Relayer authentication is separate from CLOB order authentication and the builder code attached to orders. You'll come away with two values:
| Value | What it is |
|---|---|
POLYMARKET_RELAYER_API_KEY | the key itself |
POLYMARKET_RELAYER_API_KEY_ADDRESS | the EOA the key belongs to — this bot's own signing address |
Both go into the Railway service in step 6.
The relayer address is an identity, not a routing detail
POLYMARKET_RELAYER_API_KEY_ADDRESS is the address the relayer acts as. Polymarket rejects a wrap or redeem when it does not match the deposit wallet's owner — the error reads:
from 0x2387… does not match auth 0xcA92…It must be this bot's own signing EOA (step 1), set per bot. Pointing it at another bot's address — even one that is also yours — makes every wrap fail.
Polymarket's regional and account eligibility rules apply throughout setup. If you cannot access its service, do not use another server to bypass that restriction.