AdminClient
TheAdminClient class extends DriftClient to provide administrative functions for managing Drift Protocol. It includes methods for initializing markets, updating protocol parameters, and managing market configurations.
The AdminClient requires the connected wallet to be the protocol admin. Most users should use
DriftClient instead.Extends
AdminClient extends DriftClient, inheriting all methods and properties.
Protocol Initialization
initialize
Initializes the Drift Protocol state account.PublicKey
required
USDC mint public key
boolean
required
Whether admin controls oracle prices
Promise<[TransactionSignature]>
Transaction signature in array format
Perpetual Market Management
initializePerpMarket
Initializes a new perpetual market.number
required
Market index for the new perpetual market
PublicKey
required
Oracle account public key
BN
required
Initial base asset reserve for the AMM
BN
required
Initial quote asset reserve for the AMM
BN
required
Funding rate update periodicity
BN
default:"PEG_PRECISION"
Peg multiplier for the market
OracleSource
default:"OracleSource.PYTH"
Oracle source type
ContractTier
default:"ContractTier.SPECULATIVE"
Contract tier classification
number
default:2000
Initial margin ratio (in basis points)
number
default:500
Maintenance margin ratio (in basis points)
string
default:"DEFAULT_MARKET_NAME"
Market name
Promise<TransactionSignature>
Transaction signature
deletePerpMarket
Deletes an initialized but unused perpetual market.number
required
Market index to delete
Promise<TransactionSignature>
Transaction signature
updatePerpMarketMarginRatio
Updates margin ratios for a perpetual market.number
required
Perpetual market index
number
required
New initial margin ratio
number
required
New maintenance margin ratio
Promise<TransactionSignature>
Transaction signature
updatePerpMarketBaseSpread
Updates the base spread for a perpetual market.number
required
Perpetual market index
number
required
New base spread value
Promise<TransactionSignature>
Transaction signature
updatePerpMarketOracle
Updates the oracle for a perpetual market.number
required
Perpetual market index
PublicKey
required
New oracle account public key
OracleSource
required
Oracle source type
boolean
default:false
Skip invariant validation checks
Promise<TransactionSignature>
Transaction signature
Spot Market Management
initializeSpotMarket
Initializes a new spot market.PublicKey
required
Token mint public key
number
required
Optimal utilization rate for interest
number
required
Interest rate at optimal utilization
number
required
Maximum interest rate
PublicKey
required
Oracle account public key
OracleSource
required
Oracle source type
number
required
Initial asset weight for collateral
number
required
Maintenance asset weight for collateral
number
required
Initial liability weight for borrows
number
required
Maintenance liability weight for borrows
AssetTier
default:"AssetTier.COLLATERAL"
Asset tier classification
string
default:"DEFAULT_MARKET_NAME"
Market name
Promise<TransactionSignature>
Transaction signature
deleteSpotMarket
Deletes an initialized but unused spot market.number
required
Spot market index to delete
Promise<TransactionSignature>
Transaction signature
updateSpotMarketOracle
Updates the oracle for a spot market.number
required
Spot market index
PublicKey
required
New oracle account public key
OracleSource
required
Oracle source type
Promise<TransactionSignature>
Transaction signature
AMM Management
moveAmmPrice
Moves the AMM price to new reserve values.number
required
Perpetual market index
BN
required
New base asset reserve
BN
required
New quote asset reserve
BN
Square root of k (auto-calculated if not provided)
Promise<TransactionSignature>
Transaction signature
repegAmmCurve
Repegs the AMM curve to a new peg multiplier.BN
required
New peg multiplier
number
required
Perpetual market index
Promise<TransactionSignature>
Transaction signature
updateK
Updates the k parameter for an AMM.number
required
Perpetual market index
BN
required
New square root of k value
Promise<TransactionSignature>
Transaction signature
Fee Structure Management
updatePerpFeeStructure
Updates the perpetual market fee structure.FeeStructure
required
New fee structure configuration
Promise<TransactionSignature>
Transaction signature
updateSpotFeeStructure
Updates the spot market fee structure.FeeStructure
required
New fee structure configuration
Promise<TransactionSignature>
Transaction signature
State Parameter Updates
updateAdmin
Transfers admin authority to a new address.PublicKey
required
New admin public key
Promise<TransactionSignature>
Transaction signature
updateOracleGuardRails
Updates oracle guard rails for price validation.OracleGuardRails
required
New oracle guard rail configuration
Promise<TransactionSignature>
Transaction signature
updateLiquidationDuration
Updates the liquidation duration parameter.number
required
New liquidation duration in seconds
Promise<TransactionSignature>
Transaction signature