Skip to content

[New Protocol Integration]: Integrate Radiant Lending Protocol (Arbitrum) #310

@Lexiie

Description

@Lexiie

🏷️ Protocol Name

Radiant Capital – Lending Protocol (V2, Aave V3–compatible)

🔧 Protocol Type

Lending/Borrowing

📝 Protocol Description

Integrate Radiant’s lending markets into Vibekit via a new onchain-actions plugin.
This integration enables agents to fetch market data, read user positions, and build lending/borrowing transactions compatible with Radiant’s Aave V3–style contracts.

The plugin is fully implemented (with unit tests) and ready to be contributed via PR.


Core Contract Addresses (Arbitrum)

Component Address

PoolAddressProvider 0x454a8daf74b24037ee2fa073ce1be9277ed6160a
LendingPool (Pool) 0xE23B4AE3624fB6f7cDEF29bC8EAD912f1Ede6886
ProtocolDataProvider 0x596B0cc4c5094507C50b579a662FE7e7b094A2cC
Price Oracle 0xC0cE5De939aaD880b0bdDcf9aB5750a53EDa454b

All contract interactions use Aave V3-compatible ABIs implemented by Radiant V2.


Requested Integrations

  1. View Functions

fetchMarkets()

Fetch all Radiant reserves from DataProvider

Return: symbol, address, decimals, LTV, liquidation threshold, supply APR, borrow APR, liquidity, price

getUserPosition(address)

Return collateral, debt, health factor

Include per-asset supply/borrow amounts


  1. Transaction Builders

All builders return { to, data } for safe execution by agents.

supply(asset, amount)

withdraw(asset, amount)

borrow(asset, amount, rateMode)

repay(asset, amount, rateMode)


Deliverables

New plugin:
typescript/onchain-actions-plugins/radiant/

Full implementation of:

market fetcher

user position retriever

tx builders

Unit tests (Vitest) for:

calldata encoding/decoding

view function logic

README with usage examples


Status

Implementation completed locally.
Ready to open PR once this issue is registered.


📚 Protocol Documentation

https://docs.radiant.capital/

🌐 Supported Networks

arbitrum one

🎯 Capabilities

For lending protocols:

  • Supply/withdraw assets
  • Borrow/repay assets
  • Health factor monitoring
  • Market data retrieval (reserves, APRs, LTV, liquidity)
  • User position reporting (collateral, debt, per-asset balances)
  • Transaction builder support for all lending operations

📎 Additional Information

Radiant V2 is actively maintained and operates using Aave V3–compatible smart contracts.
All interactions follow well-established and audited Aave V3 interfaces.

Known considerations:

  • Protocol uses a custom DataProvider but remains ABI-compatible with Aave V3.
  • No special permissions required for read/write operations.
  • Onchain interactions executed via standard Pool contract calls (supply, withdraw, borrow, repay).

Implementation Required

A new onchain-actions plugin for Radiant should be added under:
typescript/onchain-actions-plugins/radiant/

Required components:

  1. fetchMarkets()

    • Reads reserve list and metadata from ProtocolDataProvider
    • Returns asset info with LTV, liquidation threshold, APRs, liquidity, and pricing
  2. getUserPosition(address)

    • Retrieves collateral, debt, health factor
    • Returns structured per-asset supply/borrow data
  3. Transaction builders

    • supply(asset, amount)
    • withdraw(asset, amount)
    • borrow(asset, amount, rateMode)
    • repay(asset, amount, rateMode)
    • Each returns to + encoded calldata for execution
  4. Unit tests

    • Market fetch logic
    • User position parsing
    • Calldata encoding/decoding for tx builders
  5. README

    • Description, usage examples, action definitions

✅ Pre-submission Checklist

  • I have searched existing issues to avoid duplicates
  • I have integrated the protocol using the Ember Plugin system
  • I have verified this protocol is actively maintained
  • I will wait for the Vibekit team to approve this issue before continuing to implementation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions