This page lists the key contract addresses for each supported chain. For the complete list of all deployed contracts (100+ per chain), see the gmx-synthetics deployments folder. The machine-readable contracts.json in that folder covers mainnet deployments, while testnet deployments are published in the per-network markdown files.
Contract addresses change when logic contracts are upgraded. Subscribe to the Updates and support channels for upgrade notifications.
DataStore and RoleStore addresses are permanent and don't change across upgrades.
Mainnet
The tables below list the key integrator-facing contracts for each mainnet chain. For the full list of all deployed contracts on each chain, see the deployment files linked from each section.
Arbitrum (Chain ID: 42161)
Explorer: arbiscan.io | Full deployment list
| Contract | Address |
|---|
| DataStore | 0xFD70de6b91282D8017aA4E741e9Ae325CAb992d8 |
| RoleStore | 0x3c3d99FD298f679DBC2CEcd132b4eC4d0F5e6e72 |
| Reader | 0x470fbC46bcC0f16532691Df360A07d8Bf5ee0789 |
| ExchangeRouter | 0x1C3fa76e6E1088bCE750f23a5BFcffa1efEF6A41 |
| Router | 0x7452c558d45f8afC8c83dAe62C3f8A5BE19c71f6 |
| Oracle | 0x7F01614cA5198Ec979B1aAd1DAF0DE7e0a215BDF |
| OrderVault | 0x31eF83a530Fde1B38EE9A18093A333D8Bbbc40D5 |
| DepositVault | 0xF89e77e8Dc11691C9e8757e84aaFbCD8A67d7A55 |
| WithdrawalVault | 0x0628D46b5D145f183AdB6Ef1f2c97eD1C4701C55 |
| ShiftVault | 0xfe99609C4AA83ff6816b64563Bdffd7fa68753Ab |
| OrderHandler | 0x63492B775e30a9E6b4b4761c12605EB9d071d5e9 |
| DepositHandler | 0x33871b8568eDC4adf33338cdD8cF52a0eCC84D42 |
| WithdrawalHandler | 0x11e9E7464f3Bc887a7290ec41fCd22f619b177fd |
| AdlHandler | 0x262df96a3a35D0A7950C5669238662df58Ae8bf7 |
| LiquidationHandler | 0xaf157Eb8e2398A8E1Fc1dA929974652b9ba9BC25 |
| ShiftHandler | 0x5F66cBb8D1766e6CE3c1ffba0987aeDe7a1DFf53 |
| GlvHandler | 0x3f6dF0c3A7221BA1375E87e7097885a601B41Afc |
| GlvVault | 0x393053B58f9678C9c28c2cE941fF6cac49C3F8f9 |
| EventEmitter | 0xC8ee91A54287DB53897056e12D9819156D3822Fb |
| MarketFactory | 0xf5F30B10141E1F63FC11eD772931A8294a591996 |
| GlvRouter | 0x7EAdEE2ca1b4D06a0d82fDF03D715550c26AA12F |
| GlvReader | 0x2C670A23f1E798184647288072e84054938B5497 |
| SubaccountRouter | 0xdD00F639725E19a209880A44962Bc93b51B1B161 |
| Multicall3 | 0xe79118d6D92a4b23369ba356C90b9A7ABf1CB961 |
| Config | 0x33D1a645B9E9fc19b06Fe02981180c8DDAeE75B1 |
| ConfigTimelockController | 0xC77E6C0ca99E02660A23c00A860Dd5a8912DEaF5 |
| GovTimelockController | 0xFBEff82f2DD5E51B8AF34b57cf788b4b09d466F9 |
| Timelock | 0x7A967D114B8676874FA2cFC1C14F3095C88418Eb |
| TimelockConfig | 0x4A1D9e342E2dB5f4a02c9eF5cB29CaF289f31599 |
Multichain contracts (Arbitrum)
| Contract | Address |
|---|
| MultichainOrderRouter | 0xD38111f8aF1A7Cd809457C8A2303e15aE2170724 |
| MultichainGmRouter | 0xC6782854A8639cC3b40f9497797d6B33797CA592 |
| MultichainGlvRouter | 0xabcBbe23BD8E0dDD344Ff5fd1439b785B828cD2d |
| MultichainClaimsRouter | 0x277B4c0e8A76Fa927C9881967a4475Fd6E234e95 |
| MultichainTransferRouter | 0xfaBEb65bB877600be3A2C2a03aA56a95F9f845B9 |
| MultichainSubaccountRouter | 0x70AaAd50d53732b2D5534bb57332D00aE20cAd36 |
| MultichainReader | 0xC17AEf8559006e73B325C742143Eb2Aa1d6f79B2 |
| MultichainVault | 0xCeaadFAf6A8C489B250e407987877c5fDfcDBE6E |
Relay and oracle provider contracts (Arbitrum)
| Contract | Address |
|---|
| GelatoRelayRouter | 0xa9090E2fd6cD8Ee397cF3106189A7E1CFAE6C59C |
| SubaccountGelatoRelayRouter | 0x517602BaC704B72993997820981603f5E4901273 |
| ChainlinkDataStreamProvider | 0xE1d5a068c5b75E0c7Ea1A9Fe8EA056f9356C6fFD |
| ChainlinkPriceFeedProvider | 0x38B8dB61b724b51e42A88Cb8eC564CD685a0f53B |
| EdgeDataStreamProvider | 0x24A01E28077C2b831166Dd4099DFfD4056a336a1 |
| LayerZeroProvider | 0xB6DE222dAef5029f31b8fABE498D34f3c491Ef85 |
Avalanche (Chain ID: 43114)
Explorer: snowtrace.io | Full deployment list
| Contract | Address |
|---|
| DataStore | 0x2F0b22339414ADeD7D5F06f9D604c7fF5b2fe3f6 |
| RoleStore | 0xA44F830B6a2B6fa76657a3B92C1fe74fcB7C6AfD |
| Reader | 0x62Cb8740E6986B29dC671B2EB596676f60590A5B |
| ExchangeRouter | 0x8f550E53DFe96C055D5Bdb267c21F268fCAF63B2 |
| Router | 0x820F5FfC5b525cD4d88Cd91aCf2c28F16530Cc68 |
| Oracle | 0xE1d5a068c5b75E0c7Ea1A9Fe8EA056f9356C6fFD |
| OrderVault | 0xD3D60D22d415aD43b7e64b510D86A30f19B1B12C |
| DepositVault | 0x90c670825d0C62ede1c5ee9571d6d9a17A722DFF |
| WithdrawalVault | 0xf5F30B10141E1F63FC11eD772931A8294a591996 |
| ShiftVault | 0x7fC46CCb386e9bbBFB49A2639002734C3Ec52b39 |
| OrderHandler | 0x823b558B4bC0a2C4974a0d8D7885AA1102D15dEC |
| DepositHandler | 0xCC2645E961514A694bca228686ec664933c70647 |
| WithdrawalHandler | 0x334237f7d75497a22B1443f44DDCcF95e72904A0 |
| AdlHandler | 0x858559D39fe8B2fDfE452f895db36077859130e1 |
| LiquidationHandler | 0xad7F00b4080BACFfAaE7f44d67560C818d8e5468 |
| ShiftHandler | 0x6AdF7026D53057CED269DFDa318103db4F0Aa4Ba |
| GlvHandler | 0x48486CaF8851ed0085432789D28A8820bEcbfd45 |
| GlvVault | 0x527FB0bCfF63C47761039bB386cFE181A92a4701 |
| EventEmitter | 0xDb17B211c34240B014ab6d61d4A31FA0C0e20c26 |
| MarketFactory | 0xc57C155FacCd93F62546F329D1483E0E5b9C1241 |
| GlvRouter | 0x7E425c47b2Ff0bE67228c842B9C792D0BCe58ae6 |
| GlvReader | 0x5C6905A3002f989E1625910ba1793d40a031f947 |
| SubaccountRouter | 0xf43F559774d2cF7882e6E846fCb87BDe183a6Da7 |
| Multicall3 | 0x50474CAe810B316c294111807F94F9f48527e7F8 |
| Config | 0x11e9E7464f3Bc887a7290ec41fCd22f619b177fd |
| ConfigTimelockController | 0x20D56cf90fD3C8f3bEb9BAC03AfdA3241093DE36 |
| GovTimelockController | 0xA2aAaa1CbBd4B4f1Fd548f0a3f58B924EE36f266 |
| Timelock | 0xdF23692341538340db0ff04C65017F51b69a29f6 |
| TimelockConfig | 0x37e1AeB6118B0106810D2eF7662875C414e39Ca4 |
Multichain contracts (Avalanche)
| Contract | Address |
|---|
| MultichainOrderRouter | 0xd099565957046a2d2CF41B0CC9F95e14a8afD13b |
| MultichainGmRouter | 0xA191Bc0B72332e4c2022dB50a9d619079cc6c4fD |
| MultichainGlvRouter | 0xEEE61742bC4cf361c60Cd65826864560Bf2D0bB6 |
| MultichainClaimsRouter | 0xd10B10b816030347ff4E6767d340371B40b9F03D |
| MultichainTransferRouter | 0x5A44a3b026d50EC039582fDb3aFDD88e2092E211 |
| MultichainSubaccountRouter | 0x5872E84e5ea23292b40183BE86D25fb428621fC1 |
| MultichainReader | 0xf7B962B085775A96A99E3dD38dfFf09D7e270088 |
| MultichainVault | 0x6D5F3c723002847B009D07Fe8e17d6958F153E4e |
Relay and oracle provider contracts (Avalanche)
| Contract | Address |
|---|
| GelatoRelayRouter | 0xEE2d3339CbcE7A42573C96ACc1298A79a5C996Df |
| SubaccountGelatoRelayRouter | 0xfaBEb65bB877600be3A2C2a03aA56a95F9f845B9 |
| ChainlinkDataStreamProvider | 0xC181eB022F33b8ba808AD96348B03e8A753A859b |
| ChainlinkPriceFeedProvider | 0x05d97cee050bfb81FB3EaD4A9368584F8e72C88e |
| EdgeDataStreamProvider | 0x176fD214bc59005fFd722AE3F8fA12a31391F6Ae |
| LayerZeroProvider | 0xF85Fd576bBe22Bce785B68922C1c9849d62737c0 |
Botanix (Chain ID: 3637)
Explorer: botanixscan.io | Full deployment list
| Contract | Address |
|---|
| DataStore | 0xA23B81a89Ab9D7D89fF8fc1b5d8508fB75Cc094d |
| RoleStore | 0x51Aa17ca59E9e9C3cEc3c3c05c2B35f473b35D39 |
| Reader | 0x922766ca6234cD49A483b5ee8D86cA3590D0Fb0E |
| ExchangeRouter | 0xBCB5eA3a84886Ce45FBBf09eBF0e883071cB2Dc8 |
| Router | 0x3d472afcd66F954Fe4909EEcDd5c940e9a99290c |
| Oracle | 0x40d680E41FC4Bf973F0EA664981f6359195a6383 |
| OrderVault | 0xe52B3700D17B45dE9de7205DEe4685B4B9EC612D |
| DepositVault | 0x4D12C3D3e750e051e87a2F3f7750fBd94767742c |
| WithdrawalVault | 0x46BAeAEdbF90Ce46310173A04942e2B3B781Bf0e |
| ShiftVault | 0xa7EE2737249e0099906cB079BCEe85f0bbd837d4 |
| OrderHandler | 0xBAD04dDcc5CC284A86493aFA75D2BEb970C72216 |
| DepositHandler | 0x839B6e19E54A5862da61974A01675a5f6CC5c8b4 |
| WithdrawalHandler | 0x5bB6DCb09010069228B2aA766FAE513EF7923472 |
| AdlHandler | 0xec0e4A27a9fbfc64e4915c254B961260df28054c |
| LiquidationHandler | 0x1bC32eeCAa8F504D2225096649A0347153A37f10 |
| ShiftHandler | 0xAD712E1667bC8AAa6C4EA5f47dcD487ddd96BC35 |
| GlvHandler | 0xB75AdE19252A9db51ea861E9A39C80BB0D7aAd82 |
| GlvVault | 0xd336087512BeF8Df32AF605b492f452Fd6436CD8 |
| EventEmitter | 0xAf2E131d483cedE068e21a9228aD91E623a989C2 |
| MarketFactory | 0xcb7656751B0f8aFCBe15D135D7aC58727DE06768 |
| GlvRouter | 0xC92741F0a0D20A95529873cBB3480b1f8c228d9F |
| GlvReader | 0x955Aa50d2ecCeffa59084BE5e875eb676FfAFa98 |
| SubaccountRouter | 0xa1793126B6Dc2f7F254a6c0E2F8013D2180C0D10 |
| Multicall3 | 0x4BaA24f93a657f0c1b4A0Ffc72B91011E35cA46b |
| Config | 0x5a1344252f0CdfDB765DD5ab97C98734f1D7ED6d |
| ConfigTimelockController | 0x3d6BA4a91Ffde7C519379F8dCA5FE58b7125c294 |
| GovTimelockController | 0x610701662CD64De835d53B2dE508d342781CC1Bd |
| Timelock | 0xca3e30b51A7c3bd40bFc52a61AB0cE57B3Ab3ad8 |
| TimelockConfig | 0x72a30e76827Ce83cEf0b1BEd7e9aAF9F4a576990 |
Multichain contracts (Botanix)
| Contract | Address |
|---|
| MultichainOrderRouter | 0xbC074fF8b85f9b66884E1EdDcE3410fde96bd798 |
| MultichainGmRouter | 0x6a960F397eB8F2300F9FfA746F11375A613C5027 |
| MultichainGlvRouter | 0x9C11DFa4DAFA9227Ef172cc1d87D4D5008804C47 |
| MultichainClaimsRouter | 0x421eB756B8f887f036e7332801288BC2bbA600aC |
| MultichainTransferRouter | 0x844D38f2c3875b8351feB4764718E1c64bD55c46 |
| MultichainSubaccountRouter | 0x8138Ce254Bc0AfE40369FDC2D1e46cE90944406d |
| MultichainReader | 0x9511FAb77C8d7Acf56c9D8AE9278Cd3bd8Bd9D5c |
| MultichainVault | 0x9a535f9343434D96c4a39fF1d90cC685A4F6Fb20 |
Relay and oracle provider contracts (Botanix)
| Contract | Address |
|---|
| GelatoRelayRouter | 0x98e86155abf8bCbA566b4a909be8cF4e3F227FAf |
| SubaccountGelatoRelayRouter | 0xd6b16f5ceE328310B1cf6d8C0401C23dCd3c40d4 |
| ChainlinkDataStreamProvider | 0x1A4D623301b9f58405d3Fff7a63624411d5eb940 |
| ChainlinkPriceFeedProvider | 0xDc613305e9267f0770072dEaB8c03162e0554b2d |
| EdgeDataStreamProvider | 0x02E209c2c47956e4E2934A7516d81e86d88A5Dbc |
| LayerZeroProvider | 0x9E721ef9b908B4814Aa18502692E4c5666d1942e |
MegaETH (Chain ID: 4326)
Explorer: megaeth.blockscout.com | Full deployment list
| Contract | Address |
|---|
| DataStore | 0xE43C7B694f6b652a9F4A0f275C008d18758Dce35 |
| RoleStore | 0xecA46636BDDbb4F451ca2B7062C7E36744934655 |
| Reader | 0x0f038EB4a38B08cd3c937a3256b51aa01904a684 |
| ExchangeRouter | 0x73B3593F01CF8e573a412D1d0c972b581794ebE0 |
| Router | 0x1eAfB14236C489C28845EC04F78DECA5Fb9879Aa |
| Oracle | 0x611640B004719e4843552F60996360Ea6B39E75e |
| OrderVault | 0xD5AE04762E2afb1506695b3F36286EBE7B0E6772 |
| DepositVault | 0x8231A60862F9b0bA93fFA050c0E94AC902D901d2 |
| WithdrawalVault | 0x0Ec53dda9676219dE63eC703212219b07811F33C |
| ShiftVault | 0xC255c70b50623054CADbAD9A02E1CFE73d286666 |
| OrderHandler | 0x7d5F99Bab016b831648e278B208579e0eCdb3974 |
| DepositHandler | 0x0d776a8A8aB967193Ad50c3b220996834D5550c7 |
| WithdrawalHandler | 0x8ca83c6243b7461Ae24b5cB167912F5C055F80b0 |
| AdlHandler | 0xf97835F08c2Bc0DA66F0e354Aa6C22b1c99657E6 |
| LiquidationHandler | 0x74fCc13e7D2bf35eAaA06BC2CB3307eD6a852414 |
| ShiftHandler | 0xBb54059D79d6E887f17aF86f724Bb1634b2C6758 |
| GlvVault | 0x52e4875EB5603d21912d30A1dBA6B0B97192459A |
| EventEmitter | 0xAf2E131d483cedE068e21a9228aD91E623a989C2 |
| MarketFactory | 0x5Fb9121Ca153B93dD70ae53280Dc3b64E1805940 |
| GlvRouter | 0x505F0cCADA00F0CcB4EEbf6467531cF4dd907B0E |
| GlvReader | 0x424527a588D56513cB2F5161958D83883EE8aB0f |
| SubaccountRouter | 0x3133aC88af73d3187f1700a2426AD95B5d6E0562 |
| Multicall3 | 0xF516BC01c50eebdBad4d7E506c8f690ae8EAFc52 |
| Config | 0xb7779724235Bc038e41B8b39CA3212411aDD1284 |
| ConfigTimelockController | 0xBf96f66932C1D826C172a80bE7c062ab6b26a4CC |
| GovTimelockController | 0x0a42516de743D87572f5788cac23F0a2c1a39f69 |
| TimelockConfig | 0x9d5f3fac443748c28FB5dc964D74F8419F686F6D |
Multichain contracts (MegaETH)
| Contract | Address |
|---|
| MultichainOrderRouter | 0x976363dFbA3AeB8Fb10b733baD74e7099cCB558A |
| MultichainGmRouter | 0x041336A3DaF0a12d004a95f1511393d9A3d7236d |
| MultichainGlvRouter | 0x7EF7d01316425de5d7C2EFDf8b802A250c222faB |
| MultichainClaimsRouter | 0xfE9fD31e499bA6d8733Aec49ECe5b41381103433 |
| MultichainTransferRouter | 0xCa62C570D8667a00A56EB989881ECbA4364BFe9e |
| MultichainSubaccountRouter | 0xeB8f828A4B89dc3A854f278227A2A5E136E50bF9 |
| MultichainReader | 0xcdA9c0f9Ad580DBf564a3b5a5Ca58D09F11f4FA8 |
| MultichainVault | 0xd6922E889cE4CF14e59427F20e7d857ff81A5A9D |
Relay and oracle provider contracts (MegaETH)
| Contract | Address |
|---|
| GelatoRelayRouter | 0x24eD625B9C47fDEbF088A4d12B7f9B4B2f556297 |
| SubaccountGelatoRelayRouter | 0xD515fA0B4d704f3E2C57270F1F53BEeE16348B3b |
| ChainlinkDataStreamProvider | 0xfdD24de4974fFCeBBA126fF1D17bF18E4a9AE5ac |
| ChainlinkPriceFeedProvider | 0x7452c558d45f8afC8c83dAe62C3f8A5BE19c71f6 |
| EdgeDataStreamProvider | 0xb9a3e10Fd35e10387B4d3a24AEa443577600E89b |
| LayerZeroProvider | 0x9c41F854f123a7905907FfcF2578dFB7E47D02E0 |
Testnet
Testnet contracts are redeployed more frequently than mainnet. Verify addresses before integrating. Arbitrum Sepolia is usually the most current testnet, but Avalanche Fuji deployment artifacts are also published in the updates branch.
Arbitrum Sepolia (Chain ID: 421614)
Explorer: sepolia.arbiscan.io | Full deployment list
The Arbitrum Sepolia deployment is the most current testnet. For a frontend that connects to testnet, see Testnet frontend.
| Contract | Address |
|---|
| DataStore | 0xCF4c2C4c53157BcC01A596e3788fFF69cBBCD201 |
| RoleStore | 0x433E3C47885b929aEcE4149E3c835E565a20D95c |
| Reader | 0x4750376b9378294138Cf7B7D69a2d243f4940f71 |
| ExchangeRouter | 0xEd50B2A1eF0C35DAaF08Da6486971180237909c3 |
| Router | 0x72F13a44C8ba16a678CAD549F17bc9e06d2B8bD2 |
| Oracle | 0x0dC4e24C63C24fE898Dda574C962Ba7Fbb146964 |
| OrderVault | 0x1b8AC606de71686fd2a1AEDEcb6E0EFba28909a2 |
| DepositVault | 0x809Ea82C394beB993c2b6B0d73b8FD07ab92DE5A |
| WithdrawalVault | 0x7601c9dBbDCf1f5ED1E7Adba4EFd9f2cADa037A5 |
| ShiftVault | 0x6b6F9B7B9a6b69942DAE74FB95E694ec277117af |
| OrderHandler | 0x000F692690F6C39660AfB878D277f038fb3a8eC6 |
| DepositHandler | 0xdD0228e2806A348209F777c82C90515f9da1b790 |
| WithdrawalHandler | 0x039Ddee97368eb6ed20CE921dE7AD37A92A1A566 |
| AdlHandler | 0x6d8437132784CDDF0cCa3Da249EF49F92947EEE4 |
| LiquidationHandler | 0x268FA5c1dafeefd5E7Bc31CF517c780cb36E7a84 |
| ShiftHandler | 0xC72ea16031bd6731dE2812074cEca8028B8493b9 |
| GlvVault | 0x40bD50de0977c68ecB958ED4A065E14E1091ce64 |
| EventEmitter | 0xa973c2692C1556E1a3d478e745e9a75624AEDc73 |
| MarketFactory | 0x1934838E3d85416A6cF5bF7A5E619f12BE01C4b2 |
| GlvRouter | 0x21b044Bb4a2Ba667723aA3d15ba7b4bCc628084D |
| GlvReader | 0x9B7D08AB020D9c180E4bAc370fB545317124Cf22 |
| SubaccountRouter | 0xCF45A7E8bB46738f454eC6766631E5612DA90836 |
| Multicall3 | 0xD84793ae65842fFac5C20Ab8eaBD699ea1FC79F3 |
| Config | 0xE2169693147dF45EDc84b759488Aa0E34FD9F939 |
| ConfigTimelockController | 0x8722Df9218bA7d7ee06AE48e990ef38B76750111 |
| GovTimelockController | 0xb1854C5CfB3D25be6198972d5c3AEa0592e933a4 |
| TimelockConfig | 0x674c5Cda9fA404B14D3834D54D7eF258b91BA4a8 |
Avalanche Fuji (Chain ID: 43113)
Explorer: testnet.snowtrace.io | Full deployment list
| Contract | Address |
|---|
| DataStore | 0xEA1BFb4Ea9A412dCCd63454AbC127431eBB0F0d4 |
| RoleStore | 0x19a8085537078e7847a332A76ABaDD5b02B1e736 |
| Reader | 0xf82Cc6EB57F8FF86bc5c5e90B8BA83DbBFB517eE |
| ExchangeRouter | 0x0a458C96Ac0B2a130DA4BdF1aAdD4cb7Be036d11 |
| Router | 0x5e7d61e4C52123ADF651961e4833aCc349b61491 |
| Oracle | 0xae7c79ED2807Fe544f5757890ca8afB9d553f17c |
| OrderVault | 0x25D23e8E655727F2687CC808BB9589525A6F599B |
| DepositVault | 0x2964d242233036C8BDC1ADC795bB4DeA6fb929f2 |
| WithdrawalVault | 0x74d49B6A630Bf519bDb6E4efc4354C420418A6A2 |
| ShiftVault | 0x257D0EA0B040E2Cd1D456fB4C66d7814102aD346 |
| OrderHandler | 0xb525036363BC44695d36fD56Bcb86CEF39cd444A |
| DepositHandler | 0x12383b2AB771471003185a83cf983c98A826bD4E |
| WithdrawalHandler | 0xe80Fea80cA767a105A65D67bFA970ecF1B4e9127 |
| AdlHandler | 0x96b2004d52d30b21385E6757b1EEbd1565864f6A |
| LiquidationHandler | 0x4092cC8E8dC0893f93f35f5998585a6109d91a46 |
| ShiftHandler | 0xd96Eb278505EF101B3a1328636DFb2F215Bb6bA5 |
| GlvVault | 0x76f93b5240DF811a3fc32bEDd58daA5784e46C96 |
| EventEmitter | 0xc67D98AC5803aFD776958622CeEE332A0B2CabB9 |
| MarketFactory | 0x89810f23585FDCfAFfB1712e5B76d9b0F722e1d6 |
| GlvRouter | 0x6B6595389A0196F882C0f66CB1F401f1D24afEdC |
| GlvReader | 0xdeaC9ea3c72C102f2a9654b8E1A14Ef86Cdd3146 |
| SubaccountRouter | 0xD5EE3ECAF5754CE5Ff74847d0caf094EBB12ed5e |
| Multicall3 | 0x966D1F5c54a714C6443205F0Ec49eEF81F10fdfD |
| Config | 0x63725E32b05324042Fe78C34be3E72497C91e1E0 |
| ConfigTimelockController | 0xc120bD6756171691fC2e2D5EE876ae79526412c1 |
| GovTimelockController | 0x8beF3F7f3B2d8b8490Cf30b42c728293D1C2a9Ef |
| Timelock | 0x0f0c78405A4E6dAfc188d539D61C69D74f42f9dB |
| TimelockConfig | 0xa2c59bf9999915C2DF87998739c2e3Efa9c856f4 |
Testnet deployments may include additional test contracts (MockPriceFeed, test tokens) not present on mainnet. See the full deployment list linked above for all testnet contracts.
Contract categories
The sections below describe the purpose of each contract category listed in the address tables.
Multichain contracts
The Multichain* contracts enable cross-chain operations through the GMX Account system. They let users on one chain submit orders, manage positions, and transfer funds to GMX deployments on other chains via LayerZero messaging.
| Contract | Purpose |
|---|
| MultichainOrderRouter | Routes cross-chain order creation requests |
| MultichainGmRouter | Routes cross-chain GM token deposit/withdrawal requests |
| MultichainGlvRouter | Routes cross-chain GLV deposit/withdrawal requests |
| MultichainClaimsRouter | Routes cross-chain claim requests (funding fees, rebates) |
| MultichainTransferRouter | Routes cross-chain token transfers |
| MultichainSubaccountRouter | Routes cross-chain subaccount operations |
| MultichainReader | Reads cross-chain state and pending operations |
| MultichainVault | Holds funds in transit during cross-chain operations |
Gelato relay contracts
The Gelato relay contracts enable gasless transaction submission. Users sign a message off-chain, and a Gelato relay network submits the transaction on their behalf. This powers the Express Trading mode in the GMX interface.
| Contract | Purpose |
|---|
| GelatoRelayRouter | Accepts relay requests for standard operations |
| SubaccountGelatoRelayRouter | Accepts relay requests for subaccount operations |
Oracle provider contracts
Multiple oracle providers feed price data into the protocol. The Oracle contract aggregates prices from these providers, selecting the most appropriate source for each token.
| Contract | Purpose |
|---|
| ChainlinkDataStreamProvider | Fetches prices from Chainlink Data Streams (primary source for most tokens) |
| ChainlinkPriceFeedProvider | Fetches prices from Chainlink Price Feeds (fallback and reference) |
| EdgeDataStreamProvider | Fetches prices from Edge oracle data streams |
Governance and configuration contracts
The governance and configuration contracts control protocol parameters and enforce time-delayed updates. Changes to protocol parameters flow through the Config contract, which is gated by the ConfigTimelockController to ensure a mandatory delay before changes take effect. Higher-level governance actions are managed through GovTimelockController and Timelock.
| Contract | Purpose |
|---|
| Config | Applies parameter changes to the protocol through the timelock system |
| ConfigTimelockController | Enforces time delays on configuration updates submitted via Config |
| GovTimelockController | Controls governance-level actions with time-delayed execution |
| Timelock | Manages protocol upgrades, role assignments, and privileged operations |
| TimelockConfig | Stores timelock duration settings for different operation categories |
Cross-chain messaging
| Contract | Purpose |
|---|
| LayerZeroProvider | Handles cross-chain message and data verification |