# Decentralization Efforts

YearnGPT addresses all centralization risks with Timelock and Multi sign, by delaying the sensitive operation and avoiding a single point of key management failure

**Multi-Sign wallets.**

YearnGPT adopts [Gnosis Safe](https://safe.global/) to improve the decentralization of the project.

Gnosis Safe was chosen as it is the most trusted platform to manage digital assets with their multi-signature format for DAOs and teams.

YearnGPT **Platform Deployment Address on Main-net**

{% embed url="<https://bscscan.com/address/0xe61aB07FE287D85FdBC2Be0b3a5a9F1b4D6BFF45>" %}

**The deployment of Gnosis Safe is at:**

{% embed url="<https://bscscan.com/address/0x3E5c63644E683549055b9Be8653de26E0B4CD36E>" %}

**Signer 1**:&#x20;

{% embed url="<https://bscscan.com/address/0xC152DAcd0f166089D02478d709eeEe57257e9852>" %}

**Signer 2**:&#x20;

{% embed url="<https://bscscan.com/address/0x6319C24cDBe4fb355bb97893574c22512E374aB7>" %}

**Signer 3:**&#x20;

{% embed url="<https://bscscan.com/address/0x912376428465Aff828e909d57aD6dfD75eed47E0>" %}

**Signer 4:**&#x20;

{% embed url="<https://bscscan.com/address/0x937D3914eF31426DBcBF0B18FeCF1d7D81B52292>" %}

**Signer 5:**&#x20;

{% embed url="<https://bscscan.com/address/0x2c41964ec1DC84A0E45B1D194Bd385aCEa534538>" %}

**Transaction Hash from Gnosis Safe**

{% embed url="<https://bscscan.com/tx/0x2418d3fd16d1e08134d922a1be26e2aed9f49162a859c64c524e057e283e6784>" %}

{% hint style="info" %}
Since only 4 out of 5 wallets are required to sign in order to proceed Gnosis Safe. Therefore, given first 4 wallet addresses are owned & signed by YearnTogether core team members and the fifth wallet is owned by CEO of YearnTogether.
{% endhint %}

**TimeLock smart contract**

{% embed url="<https://bscscan.com/address/0x67FfeB13e57E9d1355D5522E0203717fb199814d#code>" %}
YearnTogether TimeLock Contract
{% endembed %}

```
// TimeLock Config

uint public constant MIN_DELAY = 86_400; // seconds in a day (1 day)
uint public constant MAX_DELAY = 172_800; // seconds in a day (2 days)
uint public constant GRACE_PERIOD = 86_400; // seconds in a day (1 day)
```

```
// Withdrw With TimeLock

address public timeLock;   // delay admin transactions with Time Lock
/**
 * @notice Owner withdraw the liquidity funds from the contract
 */
function _withdrawLiquidityFunds(uint256 amount) external onlyTimeLock {
    require (amount <= liqidityFunds);
    liqidityFunds -= amount;

    tokenAddress.safeTransfer(liquidityAddress, amount);

    emit AvailableFund(currentDraw, liqidityFunds, exchangeListingFunds, charityFunds);
}
```

```
// TimeLock Usages
modifier onlyTimeLock() {
        require(msg.sender == timeLock);
        _;
}
```

```
// TimeLock Deployed Contract
timeLock = address(0x67FfeB13e57E9d1355D5522E0203717fb199814d);
```


---

# Agent Instructions: 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://yearntogethers-organization.gitbook.io/doc/security/decentralization-efforts.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.
