# PIP-41: Restore Base V1 Deployment and Initiate Ethereum Deployment

**URL:** <https://forum.pantherprotocol.io/t/pip-41-restore-base-v1-deployment-and-initiate-ethereum-deployment/550>\
**Category:** Panther Improvement Proposals (PIPs)\
**Created:** [August 12, 2026, 3:46pm UTC](https://forum.pantherprotocol.io/t/pip-41-restore-base-v1-deployment-and-initiate-ethereum-deployment/550 "2026-08-12T15:46:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ToXiC\_eHC](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.pantherprotocol.io/toxic_ehc/32/291_2.png) [@ToXiC\_eHC](https://forum.pantherprotocol.io/u/ToXiC_eHC)\
**Post date:** [August 12, 2026, 3:46pm UTC](https://forum.pantherprotocol.io/t/pip-41-restore-base-v1-deployment-and-initiate-ethereum-deployment/550/1 "2026-08-12T15:46:33Z")

</div>

**PIP-41: Restore Base V1 Deployment, Initiate Ethereum Deployment and Compliance Role Funding**

**Proposal Summary**

This proposal seeks governance approval to:

- Restore the required **ZKP balances** to the Base V1 deployment using ZKP minted from the **rewards pool**.

- Restore the non-ZKP test asset balances required by VaultV1 to support withdrawals on Base.

- Use **DAO Council operational funding** to acquire the required non-ZKP assets.

- Initiate the build and deployment process for Panther V1 on **Ethereum**.

- Authorize the **Compliance Role funding** to be handled via DAO Grants.

* * *

**Motivation**

**1. Restore Base V1 ZKP balances**

To restore the Base V1 deployment to its required operational state, ZKP balances must be returned to three contracts:

- ZkpReserveController: **3,840,888.4 ZKP**

- VaultV1: **1,000,546.507790072217357505 ZKP**

- PantherPoolV1: **280,766.6906 ZKP**

This represents approximately **5,122,201.6 ZKP in total**.

The required ZKP will be **minted from the rewards pool** and distributed to the respective Base V1 contracts.

**2. Restore VaultV1 test assets**

VaultV1 also requires the other test assets used by the Base deployment to be restored. Without sufficient balances of these assets in the vault, withdrawals of the corresponding tokens will revert.

The following assets are required:

- **0.000119127498140994 WETH**

- **0.434819 USDC**

- **0.100842079824413618 AERO**

- **0.066781363580384114 VIRTUAL**

- **0.018154422481002229 MORPHO**

- **0.000335444255711905 AAVE**

- **5.49509528069306407 ZORA**

- **0.00000325 cbBTC**

These assets will be acquired using **DAO Council operational funding** and transferred to VaultV1 on Base.

**3. Initiate Panther V1 deployment on Ethereum**

With the Base deployment being restored, this proposal also seeks approval to begin the build and deployment process for **Panther V1 on Ethereum**.

The Ethereum deployment will extend the V1 architecture to Ethereum and begin the technical work required to prepare the deployment for testing and subsequent launch.

Approval of this proposal authorizes the development team to begin the necessary build, configuration, integration, testing, and deployment preparation work for Ethereum.

Exact details regarding **contract addresses, token and reward parameters, limits, token whitelist, and rewards and subsidies minting** will be prepared and presented in the next PIP.

**4. DAO Council management of Compliance Role funding**

This proposal also seeks authorization for the DAO Council to manage the monthly funding of the **Compliance Role via DAO Grants**.

The DAO Council treasury has exhausted its ZKP reserves allocated for the Compliance Role. This proposal will therefore authorize DAO Grants to cover the ongoing Compliance Role costs, maintaining the intent of the funding arrangement originally approved under **PIP-24**.

* * *

**Proposed Changes**

**1. Restore ZKP to Base V1**

Mint approximately **5,122,201.6 ZKP from the rewards pool** and distribute it as follows:

- ZkpReserveController — **3,840,888.4 ZKP**

- VaultV1 — **1,000,546.507790072217357505 ZKP**

- PantherPoolV1 — **280,766.6906 ZKP**

- Total — **approximately 5,122,201.6 ZKP**

**2. Restore non-ZKP assets to VaultV1**

Using **DAO Council operational funding** , acquire and transfer the following assets to VaultV1 on Base:

- WETH — 0.000119127498140994

- USDC — 0.434819

- AERO — 0.100842079824413618

- VIRTUAL — 0.066781363580384114

- MORPHO — 0.018154422481002229

- AAVE — 0.000335444255711905

- ZORA — 5.49509528069306407

- cbBTC — 0.00000325

These balances are required to ensure withdrawals of the corresponding assets can be processed successfully by VaultV1.

**3. Begin Ethereum deployment**

Authorize the development team to initiate the **Panther V1 Ethereum deployment** , including the technical work necessary to:

- Prepare and configure the V1 contracts for Ethereum.

- Build and configure the required deployment infrastructure.

- Perform integration and deployment testing.

- Prepare the Ethereum deployment for subsequent launch and governance actions where required.

Exact details regarding **contract addresses, token and reward parameters, limits, token whitelist, and rewards and subsidies minting** will be prepared and presented in the next PIP.

**4. DAO Council manages Compliance Role funding**

Authorize the DAO Council to manage the **Compliance Role monthly funding via DAO Grants**.

This will allow DAO Grants to cover the ongoing Compliance Role costs while maintaining the intent of the arrangement originally approved under **PIP-24**.

* * *

**Next Steps**

**Base restoration**

Following approval:

1. Mint the required **ZKP from the rewards pool**.

2. Transfer the required ZKP balances to ZkpReserveController, VaultV1, and PantherPoolV1 on Base.

3. Acquire the required non-ZKP assets using **DAO Council operational funding**.

4. Transfer the acquired assets to VaultV1.

5. Verify the restored balances and test Base V1 deposit and withdrawal functionality.

**Ethereum deployment**

Following approval, the development team may begin the technical build and deployment process for Panther V1 on Ethereum.

The Ethereum deployment will proceed through the required development, testing, compliance, and governance stages before being made available to users.

Exact details regarding **contract addresses, token and reward parameters, limits, token whitelist, and rewards and subsidies minting** will be prepared and presented in the next PIP.

**Compliance Role funding**

Following approval, the DAO Council will be authorized to use **DAO Grants to fund the Compliance Role** , consistent with the intent of PIP-24.

* * *

**Voting**

**PIP-41** will be published on Snapshot for a **3-day vote** , with voting eligibility defined in **PIP-7**.

* * *

**Transactions for the Snapshot**

## Addresses

**Panther contracts on Ethereum:**

- DAO\_Multisig@eth: `0x505796f5Bc290269D2522cf19135aD7Aa60dfd77`
- VestingPools@eth: `0xb476104aa9D1f30180a01987FB09b1e96dDCF14B`
- ZKP@eth: `0x909E34d3f6124C324ac83DccA84b74398a6fa173`

## Transactions for the Snapshot

### Transactions Overview

The Base V1 deployment was drained on 2026-08-06 through a compromised Reality.eth Zodiac module on the Base Safe. The contract implementations have been restored; this proposal replaces the lost ZKP.

It mints **5,122,201.598391 ZKP** to the Ethereum DAO Multisig and nothing else. Bridging to Base and distributing to ZkpReserveController ( **3,840,888.4 ZKP** ), VaultV1 ( **1,000,546.507790072217357505 ZKP** ) and PantherPoolV1 ( **280,766.6906 ZKP** ) are performed manually afterwards and are not part of this proposal.

Existing allocation is used first: pool #18 still holds **57,155.0 ZKP** releasable, so a new pool #25 covers only the remaining **5,065,046.598391 ZKP**.

The exact requirement is **5,122,201.598390072217357505 ZKP**. The new pool is rounded up to the 1e-6 ZKP grid that VestingPools can represent, a surplus of **927782642495 wei**.

**Note:** Tx #1 must execute before **2026-08-31** or it reverts, as the pool start would be in the past.

All four transactions are signed by the Ethereum DAO Multisig.

1. `addVestingPools` on VestingPools@eth — Add vesting pool #25: 5,065,046.598391 ZKP, wallet = DAO Multisig, start 2026-08-31 (future), 1 vesting day.
2. `updatePoolTime` on VestingPools@eth — Move pool #25 start to 2026-08-01 (past) so the whole allocation is releasable.
3. `releaseTo` on VestingPools@eth — Release (mint) 5,065,046.598391 ZKP from pool #25 to the DAO Multisig.
4. `releaseTo` on VestingPools@eth — Release (mint) the remaining 57,155.0 ZKP from existing pool #18 to the DAO Multisig.

## Ethereum Direct Actions — 4 Transactions

### Tx #1: Add Vesting Pool #25

**Purpose:** Add vesting pool #25: 5,065,046.598391 ZKP, wallet = DAO Multisig, start 2026-08-31 (future), 1 vesting day, adjustable, not pre-minted.

**To:**  
`0xb476104aa9D1f30180a01987FB09b1e96dDCF14B` — VestingPools@eth

**Value:**  
`0`

**Data:**

```auto
0xe11d1a98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006a94c40000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000049b4c4da2f70000000000000000000000000000000000000000000000000000049b4c4da2f70000000000000000000000000000000000000000000000000000000000000000

```

**Method:**  
`addVestingPools(address[],(bool,bool,uint32,uint16,uint48,uint48,uint96)[])`

### Tx #2: Move Pool #25 Start to 2026-08-01

**Purpose:** Move pool #25 start to 2026-08-01 (past) so the whole allocation is releasable.

**To:**  
`0xb476104aa9D1f30180a01987FB09b1e96dDCF14B` — VestingPools@eth

**Value:**  
`0`

**Data:**

```auto
0xdb66bbd10000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000006a6d37000000000000000000000000000000000000000000000000000000000000000001

```

**Method:**  
`updatePoolTime(uint256,uint32,uint16)`

### Tx #3: Release 5,065,046.598391 ZKP From Pool #25

**Purpose:** Release (mint) 5,065,046.598391 ZKP from pool #25 to the DAO Multisig.

**To:**  
`0xb476104aa9D1f30180a01987FB09b1e96dDCF14B` — VestingPools@eth

**Value:**  
`0`

**Data:**

```auto
0x2a7d7bc50000000000000000000000000000000000000000000000000000000000000019000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000043090b9eddd9b6f627000

```

**Method:**  
`releaseTo(uint256,address,uint256)`

### Tx #4: Release Remaining 57,155.0 ZKP From Pool #18

**Purpose:** Release (mint) the remaining 57,155.0 ZKP from existing pool #18 to the DAO Multisig.

**To:**  
`0xb476104aa9D1f30180a01987FB09b1e96dDCF14B` — VestingPools@eth

**Value:**  
`0`

**Data:**

```auto
0x2a7d7bc50000000000000000000000000000000000000000000000000000000000000012000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000000c1a60f64fd4eb2c0000

```

**Method:**  
`releaseTo(uint256,address,uint256)`

## JSON for Gnosis Safe Transaction Builder

```auto
[
    {
        "to": "0xb476104aa9D1f30180a01987FB09b1e96dDCF14B",
        "operation": "0",
        "value": "0.0",
        "data": "0xe11d1a98000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006a94c40000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000049b4c4da2f70000000000000000000000000000000000000000000000000000049b4c4da2f70000000000000000000000000000000000000000000000000000000000000000"
    },
    {
        "to": "0xb476104aa9D1f30180a01987FB09b1e96dDCF14B",
        "operation": "0",
        "value": "0.0",
        "data": "0xdb66bbd10000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000006a6d37000000000000000000000000000000000000000000000000000000000000000001",
        "method": "updatePoolTime(uint256,uint32,uint16)",
        "params": ["25","1785542400","1"]
    },
    {
        "to": "0xb476104aa9D1f30180a01987FB09b1e96dDCF14B",
        "operation": "0",
        "value": "0.0",
        "data": "0x2a7d7bc50000000000000000000000000000000000000000000000000000000000000019000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000043090b9eddd9b6f627000",
        "method": "releaseTo(uint256,address,uint256)",
        "params": ["25","0x505796f5Bc290269D2522cf19135aD7Aa60dfd77","5065046598391000000000000"]
    },
    {
        "to": "0xb476104aa9D1f30180a01987FB09b1e96dDCF14B",
        "operation": "0",
        "value": "0.0",
        "data": "0x2a7d7bc50000000000000000000000000000000000000000000000000000000000000012000000000000000000000000505796f5bc290269d2522cf19135ad7aa60dfd77000000000000000000000000000000000000000000000c1a60f64fd4eb2c0000",
        "method": "releaseTo(uint256,address,uint256)",
        "params": ["18","0x505796f5Bc290269D2522cf19135aD7Aa60dfd77","57155000000000000000000"]
    }
]

```
