Deposits & Withdrawals
Deposits/withdrawals move tokens between your wallet token accounts and your Drift subaccount’s spot position.
Converting amounts and deriving the token account
// marketIndex 0 is commonly USDC
const marketIndex = 0;
const amount = driftClient.convertToSpotPrecision(marketIndex, 100); // 100 USDC (example)Method DriftClient.convertToSpotPrecisionReference ↗| Name | Type | Default |
|---|---|---|
marketIndex | number | |
amount | any |
const marketIndex = 0;
const ata = await driftClient.getAssociatedTokenAccount(marketIndex);
console.log(ata.toBase58());Method DriftClient.getAssociatedTokenAccountReference ↗| Name | Type | Default |
|---|---|---|
marketIndex | number | |
useNative | boolean | |
tokenProgram | PublicKey | |
authority | PublicKey | |
allowOwnerOffCurve | boolean |
Deposit
const marketIndex = 0;
const amount = driftClient.convertToSpotPrecision(marketIndex, 100);
const associatedTokenAccount = await driftClient.getAssociatedTokenAccount(marketIndex);
await driftClient.deposit(amount, marketIndex, associatedTokenAccount);Method DriftClient.depositReference ↗Withdraw
const marketIndex = 0;
const amount = driftClient.convertToSpotPrecision(marketIndex, 100);
const associatedTokenAccount = await driftClient.getAssociatedTokenAccount(marketIndex);
await driftClient.withdraw(amount, marketIndex, associatedTokenAccount);Method DriftClient.withdrawReference ↗Spot rates (borrow / lend)
import { SPOT_MARKET_RATE_PRECISION, calculateDepositRate, convertToNumber } from "@drift-labs/sdk";
const spotMarket = driftClient.getSpotMarketAccount(0);
const rate = calculateDepositRate(spotMarket);
console.log(convertToNumber(rate, SPOT_MARKET_RATE_PRECISION));Function calculateDepositRateReference ↗| Name | Type | Default |
|---|---|---|
bank | SpotMarketAccount | |
delta | any | |
currentUtilization | any |
import { SPOT_MARKET_RATE_PRECISION, calculateBorrowRate, convertToNumber } from "@drift-labs/sdk";
const spotMarket = driftClient.getSpotMarketAccount(0);
const rate = calculateBorrowRate(spotMarket);
console.log(convertToNumber(rate, SPOT_MARKET_RATE_PRECISION));Function calculateBorrowRateReference ↗| Name | Type | Default |
|---|---|---|
bank | SpotMarketAccount | |
delta | any | |
currentUtilization | any |
import { SPOT_MARKET_RATE_PRECISION } from "@drift-labs/sdk";Variable SPOT_MARKET_RATE_PRECISIONReference ↗TypeScript docs unavailable for
SPOT_MARKET_RATE_PRECISION.Last updated on