领取DeFi协议奖励#
当用户要领取 DeFi 投资产生的奖励时,调用此接口。核心参数:address(钱包地址)、rewardType(奖励类型)。常见的 rewardType 包括:REWARD_INVESTMENT(投资品矿币奖励,最常用)、REWARD_PLATFORM(协议奖励,需传 analysisPlatformId)、V3_FEE(V3 手续费,需传 tokenId)、REWARD_OKX_BONUS(OKX Bonus)、REWARD_MERKLE_BONUS(Merkle Bonus,需传 expectOutputList)、UNLOCKED_PRINCIPAL(到期本金,需传 principalIndex)。
URL:POST /api/v6/defi/transaction/claim
请求参数#
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| address | String | 是 | 用户钱包地址 |
| rewardType | String | 是 | 奖励类型(详见下文) |
| investmentId | String | 否 | 投资品ID(除了领取平台奖励外,都必传) |
| analysisPlatformId | String | 否 | 协议id(当领取协议奖励时,需要指定协议) |
| expectOutputList | Array | 否 | 预期输出币种列表 |
| > chainIndex | String | 否 | rewardType=REWARD_MERKLE_BONUS 且传入 expectOutputList 时必填;链 ID |
| > tokenAddress | String | 否 | rewardType=REWARD_MERKLE_BONUS 且传入 expectOutputList 时必填;Token 合约地址 |
| > coinAmount | String | 否 | rewardType=REWARD_MERKLE_BONUS 且传入 expectOutputList 时必填;金额(人类可读,如 "0.001") |
| tokenId | String | 否 | 领取V3手续费时,需要指定仓位 tokenId |
| principalIndex | String | 否 | 领取到期本金时,需要指定到期的订单index |
rewardType 支持值:
| 值 | 说明 |
|---|---|
| REWARD_INVESTMENT | 投资品矿币奖励(最常用) |
| REWARD_PLATFORM | 协议奖励(需传 analysisPlatformId) |
| V3_FEE | V3 手续费(需传 tokenId) |
| REWARD_OKX_BONUS | OKX Bonus |
| REWARD_MERKLE_BONUS | Merkle Bonus(需传 expectOutputList) |
| UNLOCKED_PRINCIPAL | 到期本金(需传 principalIndex) |
请求示例#
示例 1: 领取协议奖励#
Json
{
"rewardType": "REWARD_PLATFORM",
"analysisPlatformId": "144",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055",
"expectOutputList": [
{
"chainIndex": "1",
"tokenAddress": "0xc00e94Cb662C3520282E6f5717214004A7f26888",
"coinAmount": "0.001"
}
]
}
示例 2: 领取投资品矿币奖励#
Json
{
"rewardType": "REWARD_INVESTMENT",
"investmentId": "27100",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055"
}
示例 3: 领取 V3 费用#
Json
{
"rewardType": "V3_FEE",
"investmentId": "42101",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055",
"tokenId": "64219"
}
示例 4: 领取 OKX Bonus#
Json
{
"rewardType": "REWARD_OKX_BONUS",
"investmentId": "42101",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055"
}
示例 5: 领取 Merkle Bonus#
Json
{
"rewardType": "REWARD_MERKLE_BONUS",
"investmentId": "43304",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055",
"expectOutputList": [
{
"chainIndex": "747474",
"coinAmount": "10",
"tokenAddress": "0x2dca96907fde857dd3d816880a0df407eeb2d2f2"
}
]
}
示例 6: 领取到期本金#
例如 LSD: Lido,赎回后需要有锁定期,锁定期到期后进行本金 claim:
Json
{
"rewardType": "UNLOCKED_PRINCIPAL",
"investmentId": "10002",
"address": "0x46e3420d02d628d3781fa16149e741bcb97da055",
"principalIndex": "107580"
}
响应参数#
| 字段 | 类型 | 说明 |
|---|---|---|
| dataList | Array | calldata 结果列表 |
| > callDataType | String | 操作类型(授权、申购、赎回、claim) |
| > from | String | from 地址(用户钱包地址) |
| > to | String | to 地址(目标合约地址) |
| > value | String | 转账金额(native token 数量)。无需发送原生币时为空字符串或 "0x0" |
| > serializedData | String | 序列化交易数据。EVM:hex calldata(0x 前缀);Solana:base58 编码;Sui:base64 编码的 BCS 字节 |
| > originalData | String | 辅助元数据(JSON 字符串)。EVM 链包含函数 ABI;Aptos 链包含模块 ABI JSON |
| > transactionPayload | String | 交易模板,仅 Aptos 链返回 |
| > signatureData | String | 签名数据。EVM 链为 Zap 合约的 permit 签名;非 EVM 链为服务端签名凭证 |
| > gas | String | Gas 限额,仅 Aptos 等非 EVM 链返回 |
响应示例#
领取投资品矿币奖励(REWARD_INVESTMENT)
Json
{
"code": 0,
"msg": "",
"data": {
"dataList": [
{
"callDataType": "CLAIM",
"from": "0x46e3420d02d628d3781fa16149e741bcb97da055",
"to": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7",
"value": "0x0",
"serializedData": "0x3111e7b3000000000000000000000000...",
"originalData": "{\"callDataType\":\"CLAIM\",\"methodId\":\"0x3111e7b3\",...}",
"signatureData": ""
}
]
}
}