Token Vault IDL

metaplexv0.0.0NFT / Digital Assets
Program Address
vau1zxA2LbssAUEF7Gpw91zMM1LvXrvpzJtmZ58rPsn
On-chain

Metaplex Token Vault manages fractional ownership of NFTs and token bundles on Solana. Enables combining multiple tokens into a vault and issuing fractional shares representing proportional ownership.

11
Instructions
5
Accounts
0
Events
4
Types

Instructions

InitVaultAddTokenToInactiveVaultActivateVaultCombineVaultRedeemSharesWithdrawTokenFromSafetyDepositBoxMintFractionalSharesWithdrawSharesFromTreasuryAddSharesToTreasuryUpdateExternalPriceAccountSetAuthority

Account Types

KeyVaultStateVaultSafetyDepositBoxExternalPriceAccount

Integration Examples

Use the Token Vault IDL in your application with these code examples for TypeScript, Rust, and Python.

import { Connection, PublicKey } from "@solana/web3.js";
import { Program, AnchorProvider, Idl } from "@coral-xyz/anchor";

// Load the Token Vault IDL
import idl from "./token vault.json";

const PROGRAM_ID = new PublicKey("vau1zxA2LbssAUEF7Gpw91zMM1LvXrvpzJtmZ58rPsn");

// Set up the provider and program
const connection = new Connection("https://api.mainnet-beta.solana.com");
const provider = new AnchorProvider(connection, wallet, {
  commitment: "confirmed",
});
const program = new Program(idl as Idl, provider);

// Fetch and decode an account
const accountData = await program.account.token_Vault
  .fetch(accountPublicKey);
console.log("Account data:", accountData);

// Build and send an instruction
const tx = await program.methods
  .initialize(/* ...args */)
  .accounts({
    /* ...required accounts */
  })
  .rpc();
console.log("Transaction signature:", tx);

IDL JSON Preview

token vault.json
{
  "version": "0.0.0",
  "name": "token-vault",
  "docs": [],
  "ref": "https://github.com/metaplex-foundation/metaplex-program-library/blob/821e5aac0780fe45525dae72b9ad6f8dc2ba8e5b/token-vault/program/src/instruction.rs",
  "instructions": [
    {
      "name": "InitVault",
      "docs": [
        "Initialize a token vault, starts inactivate. Add tokens in subsequent instructions, then activate."
      ],
      "accounts": [
        {
          "name": "initializedFractionalShareMint",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "Initialized fractional share mint with 0 tokens in supply, authority on mint must be pda of program with seed [prefix, programid]"
          ]
        },
        {
          "name": "initializedRedeemTreasuryTokenAccount",
          "isMut": true,
          "isSigner": false,
          "docs": [
            "Initialized redeem treasury token account with 0 tokens in supply, owner of account must be pda of program like above"
          ]
        },
        {
          "name": "initializedFractionTreasuryTokenAccount",
...

Frequently Asked Questions

What is the Token Vault IDL?

The Token Vault IDL (Interface Definition Language) is a JSON schema that defines the on-chain program interface for the Token Vault smart contract on Solana. It describes all available instructions, account structures, events, and custom types that developers need to interact with the Token Vault program. This IDL contains 11 instructions, 5 account types, 0 events, and 4 type definitions.

How do I use the Token Vault IDL in my project?

Download the JSON file and import it in your project. With TypeScript, use the @coral-xyz/anchor package to create a Program instance. In Rust, use anchor-client. For Python, use anchorpy. See the integration examples above for complete code snippets in all three languages.

What is the Token Vault program address on Solana?

The Token Vault program is deployed at address vau1zxA2LbssAUEF7Gpw91zMM1LvXrvpzJtmZ58rPsn on Solana mainnet. You can verify this on any Solana block explorer.

What version of the Token Vault IDL is this?

This is version 0.0.0 of the Token Vault IDL. IDL versions correspond to specific program deployments and may be updated as the protocol evolves. Always verify compatibility with the on-chain program version before integrating.