Solid Help Center Open Solid

Contract Addresses

The published contract addresses behind Solid savings, the Safe multisigs that own them, and how permissions are enforced on-chain.

Updated September 11, 2026

Every Solid savings deposit sits in a smart contract you can inspect yourself. This page lists the production contracts behind Solid savings, the Safe multisigs that own them, and the operational addresses that interact with them.

Solid is non-custodial. When you deposit, you receive a share token (soUSD, soETH or soFUSE) that is held in your own wallet. Solid cannot move that token on your behalf.

Ownership and control

Every contract listed below is owned by a Safe multisig, one per chain. Changes to contract ownership or permissions require approval through these Safes.

Permissions are enforced on-chain, not by policy. Each contract in the system can only call the specific functions it has been granted, and that mapping is held in the RolesAuthority contracts listed with each asset below. Batch withdrawal processing requires multisig approval. Emergency pause controls exist so activity can be halted if an issue is detected.

soUSD

The contracts behind USD savings.

ChainContractAddressWhat it does
FusesoUSD Vault0x75333830E7014e909535389a6E5b0C02aA62ca27Holds vault assets
FuseAccountant0x47A5e832E1178726dd13AdD762774A704878AD98Tracks the share exchange rate
FuseLayerZero Teller0x220d4667AA06E0Aa39f62c601690848f2e48BC15Processes deposits and withdrawals
FuseManagerWithVerification0x5f41bD3Ca482753Aaff6DC793c9A3d0f80523865Restricts which strategy calls the vault will accept
FuseRolesAuthority0x89B74905552A3b590f4b1c65b13b28cC0e6014C7Holds the on-chain permission map
EthereumsoUSD Vault0x6E575AE5e1A12e910641183F555Fad62eD1481F2Holds vault assets
EthereumAccountant0x10f3996904F1fA09Db48e5d46AAdD6D9fd516eFeTracks the share exchange rate
EthereumLayerZero Teller0x43F2face25Bb22d296B9Ab643Dac7755D89632E5Processes deposits and withdrawals
EthereumBoringQueue0x5514A3360B460675dB9c9414c3CAd357098FA964Queues withdrawal requests
EthereumBoringSolver0xc56Be3bE10d5fEb7FB3945F6f10858c527cF97E5Fulfils queued withdrawals
EthereumManagerWithMerklVerification0x9Fc1cbc01E9565c8592a4604261B866655152Da6Restricts which strategy calls the vault will accept
EthereumRolesAuthority0x110924f5b072679147785e9211612d43490718CfHolds the on-chain permission map
BasesoUSD Vault0x3c0c8f95D7f4265B2dc5575eBc37a6945c7a7A31Holds vault assets
BaseManagerWithVerification0x5C3c3b63820DCF6c1B582Cb79BCB249A0c6d46B3Restricts which strategy calls the vault will accept
BaseRolesAuthority0x9FcD641048F06d070A50a70EE4C941deCBCF7CfBHolds the on-chain permission map

soETH

The contracts behind ETH savings.

ChainContractAddressWhat it does
FusesoETH Vault0xEf1c1fFbEabDF358E61D3F5F14777e9c1bC8D1c7Holds vault assets
FuseAccountant0x4BD5873720072b4AC7956898dbCBc543b2fD3749Tracks the share exchange rate
FuseLayerZero Teller0xEaacf4534cCC05CAd929830fAF611d872b291d41Processes deposits and withdrawals
FuseManagerWithVerification0xF76278eFA47330c39Fc2Bc723d7Df15aDe2D1714Restricts which strategy calls the vault will accept
FuseRolesAuthority0x1EC0EaeB8ff710F8387b3aD4dBdDdb12440ec7C0Holds the on-chain permission map
EthereumsoETH Vault0xf9039d4f49686F34936b6937D13bBbe413f910c4Holds vault assets
EthereumAccountant0x803ed5a218a7704fC8697d36079F70df974Abb11Tracks the share exchange rate
EthereumLayerZero Teller0x4149c11b479B26080428Dc5e688F4D27253C4783Processes deposits and withdrawals
EthereumBoringOnChainQueue0xcfd7a4236ed557e9c2c03ce3256f091a0b60de28Queues withdrawal requests
EthereumBoringSolver0x0546bb4676936dc93f7eb5ca7ffd2e33a13de972Fulfils queued withdrawals
EthereumManagerWithMerklVerification0x586d0BcE566abCd4081818c32C216510985211C6Restricts which strategy calls the vault will accept
EthereumRolesAuthority0x977b101F21eAB9CF7C50e943786279ee2D7BdA92Holds the on-chain permission map

soFUSE

The contracts behind FUSE savings.

ChainContractAddressWhat it does
FusesoFUSE Vault0xb33c8F0b0816fd147FCF896C594a3ef408845e2CHolds vault assets
FuseAccountant0xb29B5F760d38587f7F4C896C458B9EEB5CAd9C0CTracks the share exchange rate
FuseLayerZero Teller0x4Aa13c96d45FDF14731acEF8F6a2DBf17D6BD53cProcesses deposits and withdrawals
FuseBoringQueue0x8a6612ff8bA43C4c8A1e7DD5c0eE2d7CBEDF0E66Queues withdrawal requests
FuseBoringSolver0x770CaCB0ce8DE079E9540A3DE56e71c441d14Dd8Fulfils queued withdrawals
FuseManagerWithVerification0xde292D873bacb930c1C626E23D6A8f379f7eFDb4Restricts which strategy calls the vault will accept
FuseRolesAuthority0xA00e9c5002D8904b36DE3a5Ca7f0555e9ACd24B6Holds the on-chain permission map

Operational addresses

These addresses interact with the vaults within the limits set by the RolesAuthority contracts above.

ContractAddressChainWhat it does
Vault manager0x78fD5DC01824d707090a76059c87a88FD7944a0EEthereumDeploys vault assets into approved strategies
Strategist0x6f3334EC6355eD6f70100Cd1Cd6736505cd0F9b5EthereumExecutes strategy actions within the permitted scope
Solid decoder and sanitiser0x0A0910164937Be95479a6349D1CD13F7a89A6F93EthereumValidates the shape of Solid-specific calls before they reach the vault
BridgePaymaster0xE046FC894Ec020501BA32fcA814a69B49c9Dac10FuseCovers gas so cross-chain transfers complete
BridgePaymaster0xcE0c6c2a6C99dF88bd127e732EC3bb3E0cB4a507EthereumCovers gas so cross-chain transfers complete

Related

Still need help?

Chat with Solid support in the app. We reply in your language.

Chat with us