Reward System
The reward module provides comprehensive lending reward functionality, including reward queries, claiming, and management for users who participate in lending activities.
API Reference
getUserAvailableLendingRewards
Get user's available lending rewards. See documentation for details.
Usage Example
import { getUserAvailableLendingRewards } from '@naviprotocol/lending'
const rewards = await getUserAvailableLendingRewards('0x...')
Result Example
[
{
"assetId": 19,
"assetCoinType": "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
"rewardCoinType": "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT",
"option": 3,
"userClaimableReward": 0.005299,
"ruleIds": ["0x02d80d2d9a2b9fc65baf19c13a0e7d0584fe4bb69487f24b672c3e50de820150"]
},
{
"assetId": 5,
"assetCoinType": "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::cert::CERT",
"rewardCoinType": "0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX",
"option": 1,
"userClaimableReward": 0.345351397,
"ruleIds": ["0x3f2610eb38a4ff44b9e6e6ba292c9ddcc3b5a75e4a99169f4fc3bdbcd0d69676"]
}
]
summaryLendingRewards
Summarize lending rewards by asset and reward type. See documentation for details.
Usage Example
import { summaryLendingRewards } from '@naviprotocol/lending'
const rewards = await getUserAvailableLendingRewards('0x...')
const summary = summaryLendingRewards(rewards)
Result Example
[
{
"assetId": 19,
"rewardType": 1,
"rewards": [
{
"coinType": "0x2::sui::SUI",
"available": "0.123456"
}
]
}
]
getUserTotalClaimedReward
Get user's total claimed rewards in USD value. See documentation for details.
Usage Example
import { getUserTotalClaimedReward } from '@naviprotocol/lending'
const totalRewards = await getUserTotalClaimedReward('0x...')
Result Example
{
"USDValue": 123.45
}
getUserClaimedRewardHistory
Get user's claimed reward history. See documentation for details.
Usage Example
import { getUserClaimedRewardHistory } from '@naviprotocol/lending'
const history = await getUserClaimedRewardHistory('0x...', {
page: 1,
size: 20
})
Result Example
{
"data": [
{
"type": "claim",
"status": "success",
"coinChanges": [
{
"symbol": "SUI",
"amount": "1000000"
}
],
"timestamp": "1751358720243",
"digest": "BVpGDpt9nmb1TkTnh65QmqedXt2gYqkVMhhkBE1uraWG"
}
],
"cursor": "next_page_cursor"
}
claimLendingRewardsPTB
Claim lending rewards in a programmable transaction block. See documentation for details.
Usage Example
import { claimLendingRewardsPTB } from '@naviprotocol/lending'
import { Transaction } from '@mysten/sui/transactions'
const tx = new Transaction()
const rewards = await getUserAvailableLendingRewards(
'0xc41d2d2b2988e00f9b64e7c41a5e70ef58a3ef835703eeb6bf1bd17a9497d9fe'
)
// Standard claiming
const rewardCoins = await claimLendingRewardsPTB(tx, rewards)
// Claiming with account cap and custom coin handling (transfer reward to another address)
await claimLendingRewardsPTB(tx, rewards, {
accountCap: '0x...',
customCoinReceive: {
type: 'transfer',
transfer: '0xrecipient_address'
}
})
// Claiming and depositing to NAVI
await claimLendingRewardsPTB(tx, rewards, {
accountCap: '0x...',
customCoinReceive: {
type: 'depositNAVI'
}
})