Skip to main content

Devnet Deploy

This page documents the working devnet deployment path for this repository. It is the fastest way to reproduce a clean environment where:
  • the Anchor program is deployed
  • the vault is initialized
  • all four strategies are registered
  • a test user makes the first deposit

When to use this path

Use devnet deploy when you want to validate:
  • Anchor program deployment
  • vault bootstrap
  • on-chain state decoding
  • deposit and withdrawal lifecycle
Do not treat this as protocol parity with mainnet. For the MVP, devnet is primarily a vault bring-up environment.

Prerequisites

  • Solana CLI configured to devnet
  • Rust + rustup
  • Anchor CLI 0.31.1
  • pnpm install already executed

1. Create the program keypair

The returned address becomes the program ID.

2. Sync program ID in the repo

Update: For the current validated deploy, the program ID is:

3. Create operator keypairs

4. Fund the authority and helper wallets

The deployer wallet needs materially more SOL than the others. Recommended rule of thumb:
  • authority: 4+ SOL
  • ranger: 0.5+ SOL
  • user: 0.5+ SOL
  • cobo: small amount is enough for now
Example:
If devnet airdrop rate-limits you, use manual transfers from the authority to the other wallets.

5. Create a test mint

The vault default codebase uses mainnet USDC, but devnet validation should use a dedicated local test mint.
For the current validated devnet setup, the deposit mint is:

6. Create a token account for the test user

7. Configure .env for devnet

Set at least:
Important note:
  • in this devnet bring-up, DRIFT_RPC_URL and KAMINO_RPC_URL can remain empty
  • the focus is the vault lifecycle, not live protocol execution

8. Build and deploy the program

For the validated deploy, the deployment signature was:

9. Validate runtime health

Expected highlights:
  • program account is executable
  • signers load correctly
  • vault account may still be missing before bootstrap

10. Bootstrap the vault

Expected outcome:
  • vault initialized
  • drift-reserve registered
  • kamino-stable-carry registered
  • marginfi-canary registered
  • perena-exotic registered
For the validated run, the vault PDA was:

11. Inspect on-chain state

Expected fields:
  • vault.authority
  • vault.depositMint
  • vault.shareMint
  • vault.vaultTreasury
  • vault.strategyCount
  • each strategy state and allocation PDA

12. Execute the first deposit

With:
This performs a 1.0 unit deposit for a 6 decimal mint.

Current validated devnet artifacts

The following values were successfully used in the current devnet bring-up on April 17, 2026:
  1. Test request-withdrawal and finalize-withdrawal.
  2. Run solver and Ranger flows against the deployed vault.
  3. Promote protocol integrations from fixture mode to live mode selectively.
  4. Only after that, consider a more realistic staging or mainnet process.