Quick Start
NAVI Wallet Client is a comprehensive wallet client SDK designed for the Sui blockchain. It provides a unified interface for managing transaction signing, account management, and various DeFi operations including token swapping, lending, and balance management.
Core Features
- 🔐 Transaction Signing: Complete transaction signing and execution functionality
- 💰 Token Swapping: Integrated Astros aggregator for token swapping
- 🏦 Lending Features: Integrated lending protocol for deposit and borrow operations
- 💳 Balance Management: Complete wallet balance and portfolio management
- 🔄 Modular Design: Modular architecture for easy extension and maintenance
- 📱 Easy Integration: Clear API design for easy integration into various applications
- 🎯 Type Safety: Complete TypeScript type support
Supported Modules
Balance Module
Provides comprehensive wallet balance management functionality, including token tracking, portfolio management, token transfers, and automatic balance updates.
Key Features:
- Real-time balance tracking
- Token transfers
- Object transfers
- Automatic balance updates
Swap Module
Provides DEX token swapping functionality, integrated with Astros aggregator to find optimal swap paths and execute trades across multiple decentralized exchanges.
Key Features:
- Token swapping
- Aggregator integration
- Slippage protection
- Multi-DEX support
Lending Module
Provides comprehensive lending protocol functionality, including deposits, withdrawals, borrowing, repayments, liquidations, reward claiming, and oracle price updates.
Key Features:
- Deposits and withdrawals
- Borrowing and repayments
- Liquidation functionality
- Reward management
- Oracle updates
Haedal Module
Provides Haedal protocol staking and unstaking functionality, allowing users to stake SUI to receive haSUI and obtain APY statistics.
Key Features:
- SUI staking
- haSUI unstaking
- APY queries
Volo Module
Provides Volo staking protocol functionality, allowing users to stake SUI tokens and receive vSUI (volo SUI) tokens for liquid staking.
Key Features:
- SUI staking
- vSUI unstaking
- Statistics queries
- APY queries
Installation
npm install @naviprotocol/wallet-client
Quick Start
import { WalletClient } from '@naviprotocol/wallet-client'
import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"
// Create wallet client
const walletClient = new WalletClient({
client: {
url: 'https://fullnode.mainnet.sui.io' // Custom RPC URL
},
signer: Ed25519Keypair.fromSecretKey(privateKey),
configs: {
swap: {
serviceFee: {
recipient: '0x123...',
fee: 0.001 // 0.1%
}
}
}
})
// Use balance module
const portfolio = walletClient.balance.portfolio
const suiBalance = portfolio.getBalance('0x2::sui::SUI')
// Use swap module
const result = await walletClient.swap.swap(
'0x2::sui::SUI',
'0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN',
1000000000,
0.01
)
// Use lending module
const healthFactor = await walletClient.lending.getHealthFactor()
const pools = await walletClient.lending.getPools()
// Use Haedal module
const apy = await walletClient.haedal.getApy()
const stakeResult = await walletClient.haedal.stake(1000000000)
// Use Volo module
const stats = await walletClient.volo.getStats()
const voloStakeResult = await walletClient.volo.stake(1000000000)
Event Listening
// Listen for balance updates
walletClient.events.on('balance:portfolio-updated', () => {
console.log('Portfolio updated')
})
// Listen for swap success
walletClient.events.on('swap:swap-success', (data) => {
console.log('Swap successful:', data)
})
// Listen for lending operations
walletClient.events.on('lending:deposit-success', (data) => {
console.log('Deposit successful:', data)
})
// Listen for staking operations
walletClient.events.on('haedal:stake-success', (data) => {
console.log('Haedal staking successful:', data)
})
walletClient.events.on('volo:stake-success', (data) => {
console.log('Volo staking successful:', data)
})
Support
- Issue reporting: GitHub Issues