> For the complete documentation index, see [llms.txt](https://docs.solv.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solv.finance/onchain-security/smart-contract-governance.md).

# Smart Contract Governance

## Contract Administration

Solv protocol's smart contract upgrade mechanism utilizes OpenZeppelin's upgradeable contract framework. This framework allows for secure and seamless contract upgrades, ensuring that new functionality can be added without disrupting existing contract states. For more information, please refer to the official documentation: [Upgradeable Contracts Documentation](https://docs.openzeppelin.com/contracts/5.x/upgradeable).

The admin privileges for upgrades are assigned to a Gnosis Safe multi-signature address, providing a secure and decentralized way to manage contract upgrades. The timelock mechanism will be added to further enhance security by introducing a delay between the upgrade proposal and execution.

### Contract Administrators

<table><thead><tr><th width="246">Contract</th><th>Contract Administrator Address</th></tr></thead><tbody><tr><td>SolvBTCFactory<br>SolvBTCYieldTokenFactory<br>MultiAssetPool<br>Router<br>Oracle</td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr></tbody></table>

Note:&#x20;

1. The contract upgrade Administrator address is unified across all chains.
2. For the relationship of these contracts, please refer to the [smart contract documentation](https://docs.solv.finance/technical-documentation/smart-contracts).

## Runtime Configuration

### Access Control Model

Solv Protocol's smart contract runtime configuration uses OpenZeppelin's access control model, as described in [Access Control Documentation](https://docs.openzeppelin.com/contracts/5.x/access-control).

#### Parameter Configuration

The permission model for updating business parameters (such as adding supported tokens, setting Oracle address, etc.) uses OpenZeppelin’s **Ownable** implementation, with the permission address being a Gnosis Safe multi-signature address.&#x20;

#### Token Mint/Burn

Role-based access control mechanism for permission management is used for cross chain Mint/Burn for SolvBTC and related LSTs, which allows for flexible management and assignment of various contract permissions. By assigning specific roles to different entities, we ensure the security and control of contract operations.&#x20;

### Role Definitions

<table><thead><tr><th width="171">Role</th><th width="310">Role ID</th><th>Role Permission</th></tr></thead><tbody><tr><td>Admin Role</td><td>0x0000000000000000000000000000000000000000000000000000000000000000</td><td>Role that has the privileges to grant minter/burner role to designated accounts</td></tr><tr><td>Minter</td><td>0x21c4541be81880876bb5b786c07d484291318693feeeefe46b97010f158e9044</td><td>Role that has the privileges to mint and burn SolvBTC or LST tokens.</td></tr><tr><td>Pool Burner</td><td>0x5ee216b0da65f8a36132240e2b0dd9725f0f5dda45a110091be9a42ddd32c71c</td><td>Role that has the privileges to burn SolvBTC or LST tokens from any accounts, this role should only be granted to the Asset Pool that controls the SolvBTC &#x26; related LSTs.</td></tr></tbody></table>

### Parameter Configuration Roles

<table><thead><tr><th width="167">Contract</th><th width="120">Role</th><th>Address</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Admin Role</td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr><tr><td>xSolvBTC<br>SolvBTC.ENA<br>SolvBTC.CORE<br>SolvBTC.JUP</td><td>Admin Role<br>Owner</td><td>0x0c2Bc4d2698820e12E6eBe863E7b9E2650CD5b7D</td></tr></tbody></table>

### Mint/Burn Roles

#### Ethereum

<table><thead><tr><th width="149">Contract</th><th width="119">Role</th><th width="324">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x1d5262919C4AAb745A8C9dD56B80DB9FeaEf86BA</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xd8f734c938200BA294d0De5B555E8ff77d66c351</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner </td><td>0x1d5262919C4AAb745A8C9dD56B80DB9FeaEf86BA</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x80Cc104119901fd66088C9a8219E50D9547dE2d4</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xBA0E1c1F702D7Ec44a555759517BDBe9f7c824C3</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xa2bF58cBAefFc76F8433B7B8492010aC8A51ef80</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x763b8a88Ac40eDb6Cc5c13FAac1fCFf4b393218D</td><td>MultiAssetPool</td></tr></tbody></table>

#### BNB Chain

<table><thead><tr><th width="158">Contract</th><th width="120">Role</th><th width="298">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x1FF72318deeD339e724e3c8deBCD528dC013D845</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x85167add801b063F29186Ea15eC5041a9C4C7DC0</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td></td><td>0xaD0FC950FDa536ebBb5EAd7C1E83929293374845</td><td>BTC Mainnet Minter 1</td></tr><tr><td></td><td></td><td>0x83e0252a8f60C054cAce454Cf18FE8DA97667eA7</td><td>BTC Mainnet Minter 2</td></tr><tr><td></td><td>Pool Burner</td><td>0x1FF72318deeD339e724e3c8deBCD528dC013D845</td><td>MutiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xA91a447D8fea44712D0157e88cF9aC53fA80C4dd</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x6c0D3271d3A4Cf72d091e404E6D011f37074e546</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x09d334C6197F52308EfC53E3D6726151c6BD0533</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.CORE</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.JUP</td><td>Minter</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MutiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x2bE4500C50D99A81C8b4cF8DA10C5EDbaE6A234A</td><td>MultiAssetPool</td></tr></tbody></table>

#### Arbitrum

<table><thead><tr><th width="149">Contract</th><th width="119">Role</th><th width="321">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xf00aa0442bD2abFA2Fe20B12a1f88104A61037c7</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x1Af4Eaaf574fe8622febe5BE1f242485D9Ae4196</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0xf00aa0442bD2abFA2Fe20B12a1f88104A61037c7</td><td>MutiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x445f5d5e09f269a3bb7CAaC87d1feC46e068A8f3</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr><tr><td></td><td></td><td>0x407320028216a0D91be5c582225Aee9F8447A6e5</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xD3d62E118E820FFd24A43f6a303c8187F6C7e41A</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0679E96f5EEDa5313099f812b558714717AEC176</td><td>MutiAssetPool</td></tr></tbody></table>

#### Merlin

<table><thead><tr><th width="147">Contract</th><th width="121">Role</th><th width="322">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xB777E64E70836f43939955e4561A4a7B3366016D</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xB777E64E70836f43939955e4561A4a7B3366016D</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAFCDfdd3364F6b62670D580c4b47184ef74EA86b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td>SolvBTC.ENA</td><td>Minter</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAFCDfdd3364F6b62670D580c4b47184ef74EA86b</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x7bf5827F3aa751D08Ba1835d3cdB330654ad348b</td><td>MultiAssetPool</td></tr></tbody></table>

#### Avalanche

<table><thead><tr><th width="148">Contract</th><th width="123">Role</th><th width="318">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x0BA5f53a4Bf22C9e5947aeb6eA4521D030f35705</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x660cE38Fb7682Dfa2bEf3e41bB365c39EC2C4Db8</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x5E306700C61d90E7dEE260F01572e4AB803d388D</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x0BA5f53a4Bf22C9e5947aeb6eA4521D030f35705</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x814F3ae67dF0da9fe2399a29516FD14b9085263a</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x19A90F20Ff81BE9F4ebfd1d7B42E84691Db1773A</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0x5E306700C61d90E7dEE260F01572e4AB803d388D</td><td>Meson.fi Bridge</td></tr><tr><td></td><td>Pool Burner</td><td>0x814F3ae67dF0da9fe2399a29516FD14b9085263a</td><td>MultiAssetPool</td></tr></tbody></table>

#### BOB

<table><thead><tr><th width="149">Contract</th><th width="120">Role</th><th width="320">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0xc2f69541e3dC306777D260dC66bfD54fcb897100</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xb4bed2e4083073c52608805e0f50b1185f783090</td><td>Meson.fi Bridge</td></tr><tr><td></td><td></td><td>0x6c2310d68f21c024ff66cc52e65220112f35dc32</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xb97cbc39cb55bf85b4102d8fe62684747e19c32f</td><td>xSolvBTCPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xc2f69541e3dC306777D260dC66bfD54fcb897100</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0xd157B70F917fEf3A59502b9128feCA911dEbC864</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x3f2Be15aEA9F68f63ADE10440C6fE00753300b68</td><td>Chainlink CCIP</td></tr><tr><td></td><td></td><td>0xb4bed2e4083073c52608805e0f50b1185f783090</td><td>Meson.fi Bridge</td></tr><tr><td></td><td></td><td>0xb97cbc39cb55bf85b4102d8fe62684747e19c32f</td><td>xSolvBTCPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xd157B70F917fEf3A59502b9128feCA911dEbC864</td><td>MultiAssetPool</td></tr></tbody></table>

#### Base

<table><thead><tr><th width="147">Contract</th><th width="119">Role</th><th width="321">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x540a9DBBA1AE6250253ba8793714492ee357ac1D</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0xAc9B7fac15312fECb73e889118C009b2d2Cd5a71</td><td>Chainlink CCIP</td></tr><tr><td></td><td>Pool Burner</td><td>0x540a9DBBA1AE6250253ba8793714492ee357ac1D</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0xD7bf464839a28969846F2E0d1709d61c281d7888</td><td>MultiAssetPool</td></tr><tr><td></td><td></td><td>0x7c7b15c7e71986a63De5486b4C4386264782bcBa</td><td>Chainlink CCIP</td></tr><tr><td></td><td>Pool Burner</td><td>0xD7bf464839a28969846F2E0d1709d61c281d7888</td><td>MultiAssetPool</td></tr></tbody></table>

#### Core

<table><thead><tr><th width="158">Contract</th><th width="120">Role</th><th width="310">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC.CORE</td><td>Minter</td><td>0xA29aC443560Ef79732A6d444e73a585416676d1e</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0xA29aC443560Ef79732A6d444e73a585416676d1e</td><td>MultiAssetPool</td></tr></tbody></table>

#### Mantle

<table><thead><tr><th width="147">Contract</th><th width="119">Role</th><th width="321">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x9954Ec753e60515Cde96765efF4D35b18542C09f</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x9954Ec753e60515Cde96765efF4D35b18542C09f</td><td>MultiAssetPool</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x7c8f50cb4d1a5b9E58a084BC8D792D7d22108C74</td><td>MultiAssetPool</td></tr><tr><td></td><td>Pool Burner</td><td>0x7c8f50cb4d1a5b9E58a084BC8D792D7d22108C74</td><td>MultiAssetPool</td></tr></tbody></table>

#### Taiko

<table><thead><tr><th width="147">Contract</th><th width="130">Role</th><th width="310">Address</th><th>Role Holder</th></tr></thead><tbody><tr><td>SolvBTC</td><td>Minter</td><td>0x962B242e02BbcFe5475aB2272B1C77E5f1E9683F</td><td>Meson.fi Bridge</td></tr><tr><td>xSolvBTC</td><td>Minter</td><td>0x962B242e02BbcFe5475aB2272B1C77E5f1E9683F</td><td>Meson.fi Bridge</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solv.finance/onchain-security/smart-contract-governance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
