API Reference
API reference for @tetherto/wdk-protocol-lending-aave-evm
Class: AaveProtocolEvm
Main class for Aave V3 lending on EVM.
Constructor
new AaveProtocolEvm(account)Parameters:
account:WalletAccountEvm | WalletAccountReadOnlyEvm | WalletAccountEvmErc4337 | WalletAccountReadOnlyEvmErc4337
Example:
const aave = new AaveProtocolEvm(account)Methods
| Method | Description | Returns |
|---|---|---|
supply(options, config?) | Add tokens to the pool | Promise<{hash: string, fee: bigint, approveHash?: string, resetAllowanceHash?: string}> |
quoteSupply(options, config?) | Estimate cost to add tokens | Promise<{fee: bigint}> |
withdraw(options, config?) | Remove tokens from the pool | Promise<{hash: string, fee: bigint}> |
quoteWithdraw(options, config?) | Estimate cost to withdraw | Promise<{fee: bigint}> |
borrow(options, config?) | Borrow tokens | Promise<{hash: string, fee: bigint}> |
quoteBorrow(options, config?) | Estimate borrowing cost | Promise<{fee: bigint}> |
repay(options, config?) | Repay borrowed tokens | Promise<{hash: string, fee: bigint}> |
quoteRepay(options, config?) | Estimate repayment cost | Promise<{fee: bigint}> |
setUseReserveAsCollateral(token, use, config?) | Toggle token as collateral | Promise<{hash: string, fee: bigint}> |
setUserEMode(categoryId, config?) | Set user eMode | Promise<{hash: string, fee: bigint}> |
getAccountData(account?) | Read account stats | Promise<{ totalCollateralBase: bigint, totalDebtBase: bigint, availableBorrowsBase: bigint, currentLiquidationThreshold: bigint, ltv: bigint, healthFactor: bigint }> |
supply(options, config?)
Add tokens to the pool.
Options:
token(string): token addressamount(bigint): amount in base unitsonBehalfOf(string, optional)
Returns:
- May include
approveHashandresetAllowanceHashfor standard accounts (e.g., USD₮ allowance reset on Ethereum mainnet)
Example:
const res = await aave.supply({ token: 'TOKEN_ADDRESS', amount: 1000000n })quoteSupply(options, config?)
Estimate fee to add tokens.
const q = await aave.quoteSupply({ token: 'TOKEN_ADDRESS', amount: 1000000n })withdraw(options, config?)
Remove tokens from the pool.
Options:
token(string)amount(bigint)to(string, optional)
const tx = await aave.withdraw({ token: 'TOKEN_ADDRESS', amount: 1000000n })quoteWithdraw(options, config?)
Estimate fee to withdraw tokens.
const q = await aave.quoteWithdraw({ token: 'TOKEN_ADDRESS', amount: 1000000n })borrow(options, config?)
Borrow tokens.
Options:
token(string)amount(bigint)onBehalfOf(string, optional)
const tx = await aave.borrow({ token: 'TOKEN_ADDRESS', amount: 1000000n })quoteBorrow(options, config?)
Estimate fee to borrow tokens.
const q = await aave.quoteBorrow({ token: 'TOKEN_ADDRESS', amount: 1000000n })repay(options, config?)
Repay borrowed tokens.
Options:
token(string)amount(bigint)onBehalfOf(string, optional)
const tx = await aave.repay({ token: 'TOKEN_ADDRESS', amount: 1000000n })Returns:
- For standard accounts, may include
approveHash/resetAllowanceHashwhen applicable.
quoteRepay(options, config?)
Estimate fee to repay borrowed tokens.
const q = await aave.quoteRepay({ token: 'TOKEN_ADDRESS', amount: 1000000n })setUseReserveAsCollateral(token, use, config?)
Toggle token as collateral for the user.
const tx = await aave.setUseReserveAsCollateral('TOKEN_ADDRESS', true)setUserEMode(categoryId, config?)
Set user eMode category.
const tx = await aave.setUserEMode(1)getAccountData(account?)
Read account stats like total collateral, debt, and health.
const data = await aave.getAccountData()Returns the following structure:
{
totalCollateralBase: bigint,
totalDebtBase: bigint,
availableBorrowsBase: bigint,
currentLiquidationThreshold: bigint,
ltv: bigint,
healthFactor: bigint
}ERC‑4337 Config (optional)
paymasterToken(string): token used to pay gas when sponsored.
Rules & Notes
tokenmust be a valid (non‑zero) addressamount> 0 and in token base units (use BigInt)onBehalfOf/to(if set) must be valid, non‑zero addresses- A provider is required to read/send transactions
- For USD₮ on mainnet, allowance may be reset to 0 then set again before actions
Node.js Quickstart
Get started with WDK in a Node.js environment
WDK Lending Aave EVM Protocol Configuration
Get started with WDK's Lending Aave EVM Protocol configuration
WDK Lending Aave EVM Protocol Usage
Get started with WDK's Lending Aave EVM Protocol usage