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.


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.

ContractAddress
ALMProxy (ALM_PROXY)0x491EDFB0B8b608044e227225C715981a30F3A44E
MainnetController (ALM_CONTROLLER)0xfd9dEA9a8D5B955649579Af482DB7198A392A9F5
RateLimits (ALM_RATE_LIMITS)0x5F5cfCB8a463868E37Ab27B5eFF3ba02112dF19a

The addresses below hold the operational roles described under Permissions.

ContractAddress
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.

ContractAddress
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:

ContractAddress
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:

ContractAddress
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.

ContractAddress
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.

ContractAddress
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.

ContractAddress
GROVE Token (GROVE_TOKEN)0xB30FE1Cf884B48a22a50D22a9282004F2c5E9406
ContractAddress
------
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.

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.

ContractAddress
GROVE_PSM_VARIANT_1_ACTIONS0x5C40DC1CcAA8CE64133D157ab838fa0c0f0d946f
WRAPPER_USDS_LITE_PSM_USDC_A0xA188EEC8F81263234dA3622A406892F3D630f98c

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

ContractAddress
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

ContractAddress
ALM Proxy (ALM_PROXY)0x9B746dBC5269e1DF6e4193Bcb441C0FbBF1CeCEe
ForeignController (ALM_CONTROLLER)0x7f8408eBbBC3504F83eeDa52910dd75Eba92C955
RateLimits (ALM_RATE_LIMITS)0xAc8BF0669223197ac8B94Cbb53E725e40B3919E8
Executor (GROVE_EXECUTOR)0x491EDFB0B8b608044e227225C715981a30F3A44E
Receiver (GROVE_RECEIVER)0x5F5cfCB8a463868E37Ab27B5eFF3ba02112dF19a

Plume

ContractAddress
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.

ContractAddress
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 Registrysrc/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.

Was this page helpful?