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
Prerequisites
- Solana CLI configured to
devnet - Rust +
rustup - Anchor CLI
0.31.1 pnpm installalready executed
1. Create the program keypair
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
5. Create a test mint
The vault default codebase uses mainnetUSDC, but devnet validation should use a dedicated local test mint.
6. Create a token account for the test user
7. Configure .env for devnet
Set at least:
- in this devnet bring-up,
DRIFT_RPC_URLandKAMINO_RPC_URLcan remain empty - the focus is the vault lifecycle, not live protocol execution
8. Build and deploy the program
9. Validate runtime health
- program account is executable
- signers load correctly
- vault account may still be missing before bootstrap
10. Bootstrap the vault
- vault initialized
drift-reserveregisteredkamino-stable-carryregisteredmarginfi-canaryregisteredperena-exoticregistered
11. Inspect on-chain state
vault.authorityvault.depositMintvault.shareMintvault.vaultTreasuryvault.strategyCount- each strategy state and allocation PDA
12. Execute the first deposit
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:| Item | Value |
|---|---|
| Program ID | 7JyRup4JrhcYwz6jPtspcTbykNWxec4nnEYSoaP8XWKu |
| Vault PDA | A84M3Wp3CV4u8H7jXSXLPpztzgtdXP6xaiyt6qBomYia |
| Deposit mint | F5rYanmuetj1YGVkzYzHUqqfwyuRrQsAiZymfqMeh3Jq |
| Authority | BQ6iPBSkwRnj8AwyHmX5rS9NrYVaE6pPBfvAELgNvbe6 |
| Ranger executor | DfNBRTEnTaM1vUaWG1C9cr7sLT84pEiwfhjypNN1xgwZ |
| COBO signer | AiFVVf3Q3xsCcYm6VKviTvVqMPwBFztqHCekzscsKCDy |
| Test user | ABkqSyACZsmSndJ8D7Acwz7vZs2hLab8G38bm3DKMHAo |
Recommended next steps after devnet
- Test
request-withdrawalandfinalize-withdrawal. - Run solver and Ranger flows against the deployed vault.
- Promote protocol integrations from fixture mode to live mode selectively.
- Only after that, consider a more realistic staging or mainnet process.