Skip to main content

Contract Addresses

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

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.

Chain

Contract

Address

What it does

Fuse

soUSD Vault

Holds vault assets

Fuse

Accountant

Tracks the share exchange rate

Fuse

LayerZero Teller

Processes deposits and withdrawals

Fuse

ManagerWithVerification

Restricts which strategy calls the vault will accept

Fuse

RolesAuthority

Holds the on-chain permission map

Ethereum

soUSD Vault

Holds vault assets

Ethereum

Accountant

Tracks the share exchange rate

Ethereum

LayerZero Teller

Processes deposits and withdrawals

Ethereum

BoringQueue

Queues withdrawal requests

Ethereum

BoringSolver

Fulfils queued withdrawals

Ethereum

ManagerWithMerklVerification

Restricts which strategy calls the vault will accept

Ethereum

RolesAuthority

Holds the on-chain permission map

Base

soUSD Vault

Holds vault assets

Base

ManagerWithVerification

Restricts which strategy calls the vault will accept

Base

RolesAuthority

Holds the on-chain permission map

soETH

The contracts behind ETH savings.

Chain

Contract

Address

What it does

Fuse

soETH Vault

Holds vault assets

Fuse

Accountant

Tracks the share exchange rate

Fuse

LayerZero Teller

Processes deposits and withdrawals

Fuse

ManagerWithVerification

Restricts which strategy calls the vault will accept

Fuse

RolesAuthority

Holds the on-chain permission map

Ethereum

soETH Vault

Holds vault assets

Ethereum

Accountant

Tracks the share exchange rate

Ethereum

LayerZero Teller

Processes deposits and withdrawals

Ethereum

BoringOnChainQueue

Queues withdrawal requests

Ethereum

BoringSolver

Fulfils queued withdrawals

Ethereum

ManagerWithMerklVerification

Restricts which strategy calls the vault will accept

Ethereum

RolesAuthority

Holds the on-chain permission map

soFUSE

The contracts behind FUSE savings.

Chain

Contract

Address

What it does

Fuse

soFUSE Vault

Holds vault assets

Fuse

Accountant

Tracks the share exchange rate

Fuse

LayerZero Teller

Processes deposits and withdrawals

Fuse

BoringQueue

Queues withdrawal requests

Fuse

BoringSolver

Fulfils queued withdrawals

Fuse

ManagerWithVerification

Restricts which strategy calls the vault will accept

Fuse

RolesAuthority

Holds the on-chain permission map

Operational addresses

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

Contract

Address

Chain

What it does

Vault manager

Ethereum

Deploys vault assets into approved strategies

Strategist

Ethereum

Executes strategy actions within the permitted scope

Solid decoder and sanitiser

Ethereum

Validates the shape of Solid-specific calls before they reach the vault

BridgePaymaster

Fuse

Covers gas so cross-chain transfers complete

BridgePaymaster

Ethereum

Covers gas so cross-chain transfers complete

Related

Did this answer your question?