Documentation Index
Fetch the complete documentation index at: https://docs.x0protocol.dev/llms.txt
Use this file to discover all available pages before exploring further.
TokenClient
TheTokenClient handles x0-USD mint initialization, fee configuration, and token operations using SPL Token-2022.
Mint Initialization
buildInitializeMintInstruction(params, payer)
Create a new x0-USD token mint with Token-2022 extensions:
- TransferFee extension — 0.8% protocol fee
- TransferHook extension — x0-guard policy enforcement
- ConfidentialTransfer extension (optional) — ElGamal-encrypted balances
buildConfigureConfidentialInstruction(params, authority)
Enable confidential transfers on an existing mint:
Token Operations
buildMintTokensInstruction(params, authority)
Mint new tokens (authority only):
buildDepositConfidentialInstruction(params, owner)
Deposit public tokens into the confidential balance:
Fee Management
buildWithdrawFeesInstruction(mint, sourceAccounts, feeReceiver, authority)
Withdraw accumulated transfer fees from token accounts:
buildHarvestFeesInstruction(mint, authority, sourceAccounts)
Harvest fees from multiple accounts in a single transaction.
Fee Calculation
calculateTransferFee(amount)
calculateAmountAfterFee(amount)
Token Account Helpers
getAssociatedTokenAddress(mint, owner)
buildCreateATAInstruction(mint, owner, payer)
Mint Info
fetchMintInfo(mint)
X0TokenMintInfo
| Field | Type | Description |
|---|---|---|
address | PublicKey | Mint address |
mintAuthority | PublicKey | Current mint authority |
supply | BN | Total token supply |
decimals | number | Token decimals (6) |
transferHookProgramId | PublicKey | x0-guard program ID |
transferFeeBps | number | Transfer fee in basis points |
feeReceiver | PublicKey | Fee receiver account |
confidentialEnabled | boolean | Whether confidential transfers are enabled |