Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.voltr.xyz/llms.txt

Use this file to discover all available pages before exploring further.

After creating a vault, the admin can update several configuration parameters such as fees, cap, withdrawal settings, and manager authority.

What Can Be Updated

ParameterUpdatableUpdated By
Max capYesAdmin
Locked profit degradation durationYesAdmin
Withdrawal waiting periodYesAdmin
Performance feesYesAdmin
Management feesYesAdmin
Issuance feeYesAdmin
Redemption feeYesAdmin
ManagerYesAdmin
Vault nameNo
Vault descriptionNo
Asset mintNo

Update Via UI

The simplest path is the Ranger manage page:
https://vaults.ranger.finance/manage/<VAULT_PUBKEY>

Update Via SDK

The v2 SDK uses getUpdateVaultConfigInstructionAsync, one field at a time.
import fs from "fs";
import { createKeyPairSignerFromBytes } from "@solana/kit";
import {
  getUpdateVaultConfigInstructionAsync,
  findVaultLpMintPda,
  VaultConfigField,
} from "@voltr/vault-sdk";

const adminSigner = await createKeyPairSignerFromBytes(
  Uint8Array.from(JSON.parse(fs.readFileSync("/path/to/admin.json", "utf-8")))
);
const vault = "YOUR_VAULT_ADDRESS" as const;

Update A u64 Field

const data = new Uint8Array(Buffer.alloc(8));
Buffer.from(data).writeBigUInt64LE(18_446_744_073_709_551_615n, 0);

const updateIx = await getUpdateVaultConfigInstructionAsync({
  admin: adminSigner,
  vault,
  field: VaultConfigField.MaxCap,
  data,
});

Update A Fee Field

const feeData = new Uint8Array(Buffer.alloc(2));
Buffer.from(feeData).writeUInt16LE(1_500, 0);

const updateIx = await getUpdateVaultConfigInstructionAsync({
  admin: adminSigner,
  vault,
  field: VaultConfigField.ManagerPerformanceFee,
  data: feeData,
});

Management Fee Special Case

For ManagerManagementFee and AdminManagementFee, append the vault LP mint account to the final instruction accounts:
const [vaultLpMint] = await findVaultLpMintPda({ vault });
The maintained admin-update-vault-config.ts scripts show the exact extra-account pattern used in production.

Update Manager

Manager and pending-admin changes use a 32-byte encoded address as the payload.

Serialization Reference

Field TypeEncoding
u648 bytes, little-endian
u162 bytes, little-endian
address32-byte encoded address
Be careful when changing manager authority. Once moved, the old manager key can no longer operate the vault.