# Agent Integration Guide — pendle api

## Overview

## Terms used in the documentation/API Below are some terms used in the documentation/API: - Pendle Assets/Tokens: PT, YT, LP, SY - Non-Pendle Assets: other tokens that are not Pendle assets, such as USDC, USDT, DAI, etc. - Asset ID/Token Id: Is the combination of chain id and token address, e.g. 1-0x5fe30ac5cb1abb0e44cdffb2916c254aeb368650 - Computing unit: Cost of an API call, this is use to rate limit the API calls. More on it at [our document](https://docs.pendle.finance/pendle-v2/Developers

**MCP endpoint:** `https://aarna.mcp.junct.dev/mcp`
**Domain:** dex
**Source type:** REST API

## Authentication

No authentication required.

## Available Tools

### Read / Query

| Tool | Description |
|------|-------------|
| `limit_orders_controller_get_all_limit_orders` | Get all limit orders for analytics — This endpoint is for analytics purpose, if … |
| `limit_orders_controller_get_all_archived_limit_orders` | Get all archived limit orders for analytics — This have the same interface and u… |
| `limit_orders_controller_get_maker_limit_order` | Get user limit orders in market — Returns the active and historical limit orders… |
| `limit_orders_controller_get_taker_limit_orders` | Get limit orders to match by YT address — Returns the best-matching active limit… |
| `limit_orders_controller_get_limit_order_book_v2` | Get order book v2 — Returns the consolidated order book for a market, aggregatin… |
| `prices_cross_chain_controller_get_all_asset_prices_by_addresses_cross_chains` | Get asset prices (cross-chain) — Returns USD prices for Pendle-supported tokens … |
| `prices_controller_ohlcv_v4` | Get PT / YT / LP historical price by address — Historical price data for PT / YT… |
| `assets_cross_chain_controller_get_pendle_assets_metadata` | Get all assets (cross-chain) — Returns the flat list of all PT, YT, LP, and SY t… |
| `markets_cross_chain_controller_get_all_markets` | Get all markets (cross-chain) — Returns the complete list of whitelisted Pendle … |
| `markets_cross_chain_controller_get_points_markets` | Get points markets — Returns all active markets that have a points reward progra… |
| `markets_controller_market_data_v2` | Get latest/historical market data by address — Returns the latest or historical … |
| `markets_controller_market_historical_data_v2` | Get market time-series data by address — Returns the time-series data for a give… |
| `ve_pendle_controller_ve_pendle_extended_data` | [Deprecated] Get vePendle statistics — **Deprecated**: vePENDLE has been replace… |
| `ve_pendle_controller_all_market_total_fees` | [Deprecated] Get market fees chart — **Deprecated**: vePENDLE has been replaced … |
| `sdk_controller_get_market_tokens` | Get supported tokens for market — Returns the two sets of tokens relevant for a … |
| `sdk_controller_get_supported_aggregators` | Get supported aggregators for a chain — Returns the list of DEX aggregators avai… |
| `sdk_controller_get_market_spot_swapping_price` | Get real-time PT/YT swap price of a market — Return price by swapping 1 unit und… |
| `sdk_controller_cancel_single_limit_order` | Cancel one single limit order by order hash — Generate the transaction payload t… |
| `sdk_controller_cancel_all_limit_orders` | Cancel all limit orders — Generate the transaction payload to cancel all active … |
| `sdk_controller_redeem_interests_and_rewards` | Redeem rewards and interests from positions — Generate a transaction payload to … |
| `sdk_controller_convert` | Universal convert function — The **Convert API** is the recommended endpoint for… |
| `sdk_controller_swap_pt_cross_chain_v2` | Swap PT using fixed price AMM for cross-chain operations — Swap a bridged PT on … |
| `sdk_controller_get_pt_cross_chain_metadata` | PT cross-chain metadata — Returns metadata for a PT that has been bridged to a s… |
| `transactions_controller_transactions_v5` | Get market transactions by address — Return transactions with: user action (long… |
| `statistics_controller_get_distinct_user_from_token` | Get distinct users for a specific token — Returns a list of unique wallet addres… |
| `chains_controller_get_supported_chain_ids` | Get supported chain IDs Returns: { chainIds: number[] }. |
| `dashboard_controller_get_user_positions` | Get user positions by address — Returns a complete snapshot of a user's Pendle p… |
| `dashboard_controller_get_merkle_claimed_rewards` | Get all merkle claimed rewards for a user — Returns the historical record of all… |
| `transactions_controller_get_transactions` | Get user transaction history — Returns the on-chain transaction history for a us… |
| `pendle_emission_controller_pendle_emission` | Get Pendle Emission — Returns the latest confirmed PENDLE emission across all el… |

### Write / Action

| Tool | Description |
|------|-------------|
| `limit_orders_controller_create_order` | Create limit order — Submit a signed limit order to the Pendle order book. Once … |
| `limit_orders_controller_generate_limit_order_data` | Generate limit order data for signing — Generate the EIP-712 typed data payload … |
| `limit_orders_controller_generate_scaled_limit_order_data` | Generate list of limit orders (scaled) for signing — Generate a batch of limit o… |
| `sdk_controller_convert_v3` | Universal convert function (recommended — POST body variant) — The **Convert API… |

## Example Workflow

1. Call `limit_orders_controller_get_all_limit_orders` to retrieve current state from pendle api.
2. Call `limit_orders_controller_create_order` with required parameters to perform the action.
3. Confirm the response and surface results to the user.

## Error Handling

- All tools throw descriptive errors on failure — catch and surface to the user.
- Write tools call the API directly — ensure auth is configured before calling.
- Check read tools first before any write/action operation.