Drift v2 IDL
dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UHDrift Protocol v2 is a decentralized perpetual futures and spot margin trading exchange on Solana. Supports up to 20x leverage, cross-margin accounts, an on-chain order book, market maker vaults, and insurance fund staking.
Instructions
Account Types
Events
Integration Examples
Use the Drift v2 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 Drift v2 IDL
import idl from "./drift v2.json";
const PROGRAM_ID = new PublicKey("dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH");
// 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.drift_v2
.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
{
"version": "2.106.0",
"name": "drift",
"instructions": [
{
"name": "initializeUser",
"accounts": [
{
"name": "user",
"isMut": true,
"isSigner": false
},
{
"name": "userStats",
"isMut": true,
"isSigner": false
},
{
"name": "state",
"isMut": true,
"isSigner": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true
},
{
"name": "payer",
"isMut": true,
...Frequently Asked Questions
What is the Drift v2 IDL?
The Drift v2 IDL (Interface Definition Language) is a JSON schema that defines the on-chain program interface for the Drift v2 smart contract on Solana. It describes all available instructions, account structures, events, and custom types that developers need to interact with the Drift v2 program. This IDL contains 194 instructions, 17 account types, 17 events, and 84 type definitions.
How do I use the Drift v2 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 Drift v2 program address on Solana?
The Drift v2 program is deployed at address dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH on Solana mainnet. You can verify this on any Solana block explorer.
What version of the Drift v2 IDL is this?
This is version 2.106.0 of the Drift v2 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.