grimoire-pendle
Fetches Pendle Hosted SDK metadata using the Grimoire venue CLI. Use when you need supported chains, aggregators, markets, assets, or market token details.
By franalgaba · 1,019 installs
npx skills add franalgaba/grimoire --skill grimoire-pendle
Source repository · Upstream listing
Grimoire Pendle Skill
Use this skill to inspect Pendle metadata and preflight Pendle routing configuration before running spells.
Preferred invocations:
grimoire venue pendle ...
npx y @grimoirelabs/cli venue pendle ... (no install)
bun run packages/cli/src/index.ts venue pendle ... (repo local)
grimoire pendle ... (direct binary from @grimoirelabs/venues )
Recommended preflight:
grimoire venue doctor adapter pendle chain 1 rpc url <rpc json
Commands
grimoire venue pendle info [ base url <url ] [ format <auto json table ]
grimoire venue pendle chains [ base url <url ] [ format <auto json table ]
grimoire venue pendle supported aggregators chain <id [ base url <url ] [ format <auto json table ]
grimoire venue pendle markets [ chain <id ] [ active <true false ] [ base url <url ] [ format <auto json table ]
grimoire venue pendle assets [ chain <id ] [ type <PT YT LP SY ] [ base url <url ] [ format <auto json table ]
grimoire venue pendle market tokens chain <id market <address [ base url <url ] [ format <auto json table ]
Examples
Authoring Workflow
Pendle requires a market first approach. Do NOT write a Pendle spell without first querying available markets.
1. Query markets for the target chain and underlying:
2. Pick a market — note its address and expiry. Each market has specific PT/YT/SY tokens.
3. Query market tokens to get the exact token addresses:
4. Write the spell using token addresses from step 3:
Common mistakes
pendle.deposit(USDC, ...) — Pendle has no deposit action. Use add liquidity , mint py , mint sy , or swap .
Using token symbols without addresses — PT/YT/SY tokens are auto resolved via the Pendle API, but standard tokens like USDC need raw amounts in the token's smallest unit.
Missing enable aggregator — Some routes require an aggregator. If no route is found, retry with enable aggregator=true in the with() clause.
Supported actions
Action Description Input Output
swap Swap between any Pendle tokens Single token Single token
add liquidity Add single sided liquidity Underlying/SY LP token
remove liquidity Remove single sided liquidity LP token Underlying/SY
mint py Mint PT + YT from underlying Underlying/SY PT + YT
redeem py Redeem PT + YT to underlying PT + YT Underlying/SY
mint sy Wrap underlying into SY Underlying SY
redeem sy Unwrap SY to underlying SY Underlying
Metric Surface (Spell Comparisons)
Pendle exposes quote out for route output comparisons:
Selector fields:
required: asset out
optional: amount (defaults to 1 unit of input asset), slippage bps , enable aggregator
Spell Constraints
When writing Pendle actions in .spell files, use with clauses:
Constraint Type Description
max slippage integer (bps) Maximum slippage, validated as integer in [0, 10000] , converted to decimal for API
min output integer (wei) Minimum output amount floor
require quote boolean Fail if Pendle API quote fails
max gas integer (wei) Gas estimate cap
Pendle swap only supports mode: exact in . exact out is not supported.
When the Pendle API returns multiple routes, the adapter selects the first (best) route and emits a warning via onWarning . This is logged in non JSON CLI runs.
PT/YT/SY Token Resolution
Pendle PT, YT, and SY tokens (e.g. PT FXSAVE , YT EETH , SY WSTETH ) are automatically resolved via the Pendle API at build time. You can use these symbols directly in spells without providing explicit addresses:
The adapter converts underscore delimited names (e.g. PT FXSAVE ) to the Pendle API format and picks the best match. If multiple expiries exist, the first (nearest) is selected.
To target a specific expiry or disambiguate, use the full 0x address instead:
Use grimoire venue pendle assets chain <id type PT to discover available tokens and addresses.
Notes
Default API base URL is https://api v2.pendle.finance/core .
Override base URL with base url or PENDLE API BASE URL .
Use format json for automation and nested payloads.
Pendle swap currently supports mode: exact in only.
Aggregators are disabled by default in adapter actions unless explicitly enabled.
For Pendle token outputs ( assetOut , outputs ), use bare address literals ( 0x... ) and not quoted strings ( \"0x...\" ).
Quoted address like token values trigger validator code QUOTED ADDRESS LITERAL .
max slippage is validated as integer bps in [0, 10000] and converted to decimal ( bps / 10000 ) before API requests.