
Grimoire Pendle
Use when preflighting Pendle Hosted SDK metadata—chains, markets, assets, aggregators—via Grimoire before DeFi routing or spells.
Overview
Grimoire Pendle is an agent skill for the Build phase that fetches Pendle Hosted SDK metadata via the Grimoire venue CLI for chains, markets, assets, and routing preflight.
Install
npx skills add https://github.com/franalgaba/grimoire --skill grimoire-pendleWhat is this skill?
- grimoire venue pendle subcommands: info, chains, markets, assets, market-tokens, supported-aggregators
- Doctor preflight: grimoire venue doctor --adapter pendle --chain 1 --rpc-url
- Invocation paths: global CLI, npx @grimoirelabs/cli, bun repo-local, grimoire-pendle binary
- Output formats auto, json, or table for scripting and human review
- Chain, active market, and asset type filters (PT, YT, LP, SY)
- 6 pendle venue subcommands documented (info through market-tokens)
Adoption & trust: 1k installs on skills.sh; 5 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are wiring Pendle routing but lack verified chains, market addresses, token types, and aggregator support for your target network.
Who is it for?
Solo builders using Grimoire spells who need Pendle SDK discovery and config checks on Ethereum or other listed chains.
Skip if: Non-Pendle venues, pure smart-contract authoring without Grimoire CLI, or production trading without your own risk review.
When should I use this skill?
Need Pendle Hosted SDK metadata—chains, aggregators, markets, assets, or market token details—via Grimoire venue CLI before spells.
What do I get? / Deliverables
You get JSON or table metadata from venue pendle commands and a doctor preflight result before implementing spells or swaps.
- Markets/assets JSON or table output
- Doctor preflight status for pendle adapter
Recommended Skills
Journey fit
Pendle venue inspection is integration work while wiring on-chain yield or routing into a product, which sits squarely in Build. Integrations is the right shelf for third-party venue CLI commands that gate correct chain, market, and token configuration.
How it compares
Venue metadata integration skill via CLI, not a wallet UI or generic Etherscan lookup.
Common Questions / FAQ
Who is grimoire-pendle for?
Developers integrating Pendle through Grimoire who want agent-guided CLI commands for markets, assets, and doctor preflight.
When should I use grimoire-pendle?
During Build integrations while implementing Pendle routing, spell configuration, or debugging wrong chain or market addresses.
Is grimoire-pendle safe to install?
Review the Security Audits panel on this page; commands use network RPC URLs and third-party CLIs—treat RPC endpoints and npm packages as supply-chain risks.
SKILL.md
READMESKILL.md - Grimoire Pendle
# 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 ```bash grimoire venue pendle info --format table grimoire venue pendle chains grimoire venue pendle supported-aggregators --chain 1 --format json grimoire venue pendle markets --chain 1 --active true --format table grimoire venue pendle assets --chain 8453 --type PT --format table grimoire venue pendle market-tokens --chain 8453 --market 0x... --format json ``` ## 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: ```bash grimoire venue pendle markets --chain 1 --active true --format json ``` 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: ```bash grimoire venue pendle market-tokens --chain 1 --market 0x... --format json ``` 4. **Write the spell** using token addresses from step 3: ```spell pendle.add_liquidity(0x<SY_address>, params.amount) with (max_slippage=100) ``` ### 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: ```spell pendle_out = metric("quote_out", pendle, USDC, "asset_out=DAI,amount=1000000,slippage_bps=1000") ``` 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: ```spell pendle.swap(PT_TOKEN, SY_TOKEN, params.amount) with ( max_slippage=100,