Deployed Contracts
Canonical onchain addresses for the Grove Protocol, on Ethereum Mainnet and on each foreign domain the Grove Liquidity Layer is deployed to. Parameter changes to these contracts are recorded in the Protocol Changelog.
The Grove Address Registry is the source of truth for all deployed Grove addresses. The tables below are a curated view. For the complete, machine-readable registry — including token, bridging and integration addresses not listed here — refer to src/ in the GitHub repository.
Ethereum Mainnet
Grove Allocator
The Grove Allocator routes stablecoin capital across DeFi and institutional credit markets. See Grove Allocator for the full architecture and an explanation of each role. Registry keys are shown in parentheses.
| Contract | Address |
|---|---|
ALMProxy (ALM_PROXY) | 0x491EDFB0B8b608044e227225C715981a30F3A44E |
MainnetController (ALM_CONTROLLER) | 0xfd9dEA9a8D5B955649579Af482DB7198A392A9F5 |
RateLimits (ALM_RATE_LIMITS) | 0x5F5cfCB8a463868E37Ab27B5eFF3ba02112dF19a |
The addresses below hold the operational roles described under Permissions.
| Contract | Address |
|---|---|
Freezer (ALM_FREEZER) | 0xB0113804960345fd0a245788b3423319c86940e5 |
Relayer (ALM_RELAYER) | 0x0eEC86649E756a23CBc68d9EFEd756f16aD5F85f |
Primary relayer operator (GROVE_PRIMARY_RELAYER_OPERATOR) | 0x4364D17B578b0eD1c42Be9075D774D1d6AeAFe96 |
Secondary relayer operator (GROVE_SECONDARY_RELAYER_OPERATOR) | 0x9187807e07112359C481870feB58f0c117a29179 |
Grove Diamond PAU
A second controller stack, live since the July 2, 2026 spell and wired to the ALLOCATOR-GROVE-A allocator vault. It follows the diamond pattern: the controller exposes functionality through facets whose code is supplied by the Sky-governed PAU Beacon, and it meters its own operations through a separate RateLimits contract from the one the MainnetController uses.
| Contract | Address |
|---|---|
ALM Proxy (PAU_PROXY) | 0x0DcD9298e163dFD3c0B5b00F0d9093C36e40A153 |
Controller (PAU_CONTROLLER) | 0xbf83F5974B932c7D842254042717D6A2706CE5eE |
AccessControls (PAU_ACCESS_CONTROLS) | 0x4F6d1704700cd494DD4cd9bF59c0C39DA1Bc9164 |
RateLimits (PAU_RATE_LIMITS) | 0xE016Ae733A77Ba77E7907aAA749394Fc5e75C0e1 |
AdministeredAgent (PAU_ADMINISTERED_AGENT) | 0xdBD17832df0e57b1732cE1C84c652E820e549BAa |
Facets currently wired into the controller:
| Contract | Address |
|---|---|
USDS facet (PAU_USDS_FACET) | 0x1221CC4B85Ab260660aD21C2829e0EB516dffBc7 |
PSM facet (PAU_PSM_FACET) | 0xE4A5dAc768a310cc2316f258901b32E499653064 |
Basin facet (PAU_BASIN_FACET) | 0xC84825BCD13AEddc372400239499380376a44A39 |
Uniswap V3 facet (PAU_UNISWAP_V3_FACET) | 0x445D9Dc752F269Be48250f1A180CAC4c61cE4bab |
Deployment infrastructure, governed by Sky:
| Contract | Address |
|---|---|
Beacon (PAU_BEACON) | 0x829dC2b7E94B1954F0764E573f2E0d45Afa28199 |
Factory (PAU_FACTORY) | 0x69A5d548830AC2A4Ba90A44a2C75BDA71f97fc66 |
AdministeredAgent factory (PAU_ADMINISTERED_AGENT_FACTORY) | 0x2968c3b5478cF93B70aB1e24255d4EDBBd27a089 |
Default assembler (PAU_DEFAULT_ASSEMBLER) | 0xc812aAD3FaE2D3511C664374B601a9BeBFeCCa2E |
Sky PAS Configurator (PAS_CONFIGURATOR) | 0xb7E61Df6CAb0A51E9A5dab1A7DD3f942dDe5b929 |
Allocation System
The Sky allocator instances Grove draws USDS from. ALLOCATOR-GROVE-A is the instance the Diamond PAU mints against; the buffer holds the USDS the proxy is approved to spend.
| Contract | Address |
|---|---|
ALLOCATOR-GROVE-A vault (ALLOCATOR_GROVE_A_VAULT) | 0xf739a30c74927dc6cFA3B67E4933872a1FC5F4EB |
ALLOCATOR-GROVE-A buffer (ALLOCATOR_GROVE_A_BUFFER) | 0x436DABce608f73BeA2b75fba35bffe72739697d5 |
ALLOCATOR-BLOOM-A vault (ALLOCATOR_BLOOM_A_VAULT) | 0x26512A41C8406800f21094a7a7A0f980f6e25d43 |
ALLOCATOR-BLOOM-A buffer (ALLOCATOR_BLOOM_A_BUFFER) | 0x629aD4D779F46B8A1491D3f76f7E97Cb04D8b1Cd |
AllocatorRegistry (ALLOCATOR_REGISTRY) | 0xCdCFA95343DA7821fdD01dc4d0AeDA958051bB3B |
AllocatorRoles (ALLOCATOR_ROLES) | 0x9A865A710399cea85dbD9144b7a09C889e94E803 |
AllocatorOracle (ALLOCATOR_ORACLE) | 0xc7B91C401C02B73CBdF424dFaaa60950d5040dB7 |
Grove Basin
Deployed Basin instances, onboarded in the July 2, 2026 spell. See Grove Basin for the issuer-facing reference.
| Contract | Address |
|---|---|
JTRSY Basin (JTRSY_GROVE_BASIN) | 0xf08943f817e1F902dEbC884c7B19Ea5764594Ac9 |
BUIDL Basin (BUIDL_GROVE_BASIN) | 0xCBa428fB052B365557DAf52b744DFfF20d5FbEdD |
GROVE Token and Governance
The GROVE token, its staking contract, and the governance addresses that administer Grove. See the GROVE Token page for distribution details and audit history, and Grove Governance for how proposals reach these contracts.
| Contract | Address |
|---|---|
GROVE Token (GROVE_TOKEN) | 0xB30FE1Cf884B48a22a50D22a9282004F2c5E9406 |
| Contract | Address |
| --- | --- |
stGROVE (STAKED_GROVE) | 0xF3Ddcaa3BD5D04ba08beC69cf34D9d9C9c112d14 |
Grove Farm (GROVE_FARM) | 0x4E41488C19cD35EB4de3083Fc3e204854c75c86a |
Grove SubProxy (GROVE_PROXY) | 0x1369f7b2b38c76B6478c0f0E66D94923421891Ba |
Grove Star Guard (GROVE_STAR_GUARD) | 0xfc51CAa049E8894bEcFfB68c61095C3F3Ec8a880 |
Grove Foundation (GROVE_FOUNDATION) | 0xE3EC4CC359E68c9dCE15Bf667b1aD37Df54a5a42 |
Stablecoins
The Sky Ecosystem stablecoins routed by the Grove Allocator. USDS is the unit of account for Grove's deployments. sUSDS is its savings variant, whose value reflects the Sky Savings Rate set by Sky governance.
| Token | Address |
|---|---|
| USDS | 0xdC035D45d973E3EC169d2276DDab16f1e407384F |
| sUSDS | 0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD |
Peg Stability Module
Action contract used by the Grove Allocator for variant-1 PSM interactions, and the Sky wrapper the SubProxy swaps USDC to USDS through.
| Contract | Address |
|---|---|
GROVE_PSM_VARIANT_1_ACTIONS | 0x5C40DC1CcAA8CE64133D157ab838fa0c0f0d946f |
WRAPPER_USDS_LITE_PSM_USDC_A | 0xA188EEC8F81263234dA3622A406892F3D630f98c |
Foreign Domains
Each domain runs a ForeignController against its own ALM Proxy and RateLimits. Payloads reach them from Ethereum through the governance relay: the receiver accepts the bridged message and the executor applies it. See ForeignController for the operations they support.
Avalanche
| Contract | Address |
|---|---|
ALM Proxy (ALM_PROXY) | 0x7107DD8F56642327945294a18A4280C78e153644 |
ForeignController (ALM_CONTROLLER) | 0x4236B772BEeEAFF57550Aa392A0f227C0b908Ce7 |
RateLimits (ALM_RATE_LIMITS) | 0x6ba2e6bCCe3d2A31F1e3e1d3e11CDffBaA002A21 |
Executor (GROVE_EXECUTOR) | 0x4b803781828b76EaBF21AaF02e5ce23596b4d60c |
CCTP v1 receiver (GROVE_CCTP_V1_RECEIVER) | 0x26e9512547feC1906C55256e491DfB6673D8C23f |
CCTP v2 receiver (GROVE_CCTP_V2_RECEIVER) | 0x8Ea8Dff8c29f568eA1E716E2C3AfbD003EB83cfA |
Base
| Contract | Address |
|---|---|
ALM Proxy (ALM_PROXY) | 0x9B746dBC5269e1DF6e4193Bcb441C0FbBF1CeCEe |
ForeignController (ALM_CONTROLLER) | 0x7f8408eBbBC3504F83eeDa52910dd75Eba92C955 |
RateLimits (ALM_RATE_LIMITS) | 0xAc8BF0669223197ac8B94Cbb53E725e40B3919E8 |
Executor (GROVE_EXECUTOR) | 0x491EDFB0B8b608044e227225C715981a30F3A44E |
Receiver (GROVE_RECEIVER) | 0x5F5cfCB8a463868E37Ab27B5eFF3ba02112dF19a |
Plume
| Contract | Address |
|---|---|
ALM Proxy (ALM_PROXY) | 0x1DB91ad50446a671e2231f77e00948E68876F812 |
ForeignController (ALM_CONTROLLER) | 0x0C462Fff7Cc975bC9F2B0aEB8270febA5FD71e1B |
RateLimits (ALM_RATE_LIMITS) | 0x7f8408eBbBC3504F83eeDa52910dd75Eba92C955 |
Executor (GROVE_EXECUTOR) | 0x3048386E09c72C20FB268a37d2B630D7f2Ee9138 |
Receiver (GROVE_RECEIVER) | 0x7D592085847558A97695DDC1CD6E8FEe818510E8 |
Robinhood
Initialized in the July 16, 2026 spell.
| Contract | Address |
|---|---|
ALM Proxy (ALM_PROXY) | 0x29626c2d8Ca49A51E4dECEEc5499e52983c42BD5 |
ForeignController (ALM_CONTROLLER) | 0x2c10885ddec8d52ecF3Ad2B3833765bf36eD80cf |
RateLimits (ALM_RATE_LIMITS) | 0xC13e5ff7993c5df911aE562a7736B0eBA12b2010 |
Executor (GROVE_EXECUTOR) | 0x5ff98717a18833de1A49e11B498866d6Fa1c9296 |
Receiver (GROVE_RECEIVER) | 0xa02eC279eEA9E56F4E14449a07C5ca5FDAAdc51d |
Source
All addresses on this page are mirrored from the Grove Address Registry — src/Ethereum.sol for Ethereum Mainnet, and the matching Avalanche.sol, Base.sol, Plume.sol and Robinhood.sol for the foreign domains. The onchain registry is the canonical source of truth; if an address on this page is ever out of sync, the registry wins.
