How it works
“Put 25 USDC somewhere it earns a fixed rate until February.”
The agent finds the best market, explains its risks, quotes the rate, then proposes an exact-amount approval and the deposit. At maturity the PT redeems back to you, like the coin coming down the steps above, or rolls into the next maturity in one transaction.
Live from Pendle
Fixed rates right now
These are the same markets the plugin searches, fetched straight from Pendle when you load this page. The rate is fixed only if you hold the PT to maturity.
| Market | Fixed APY | Maturity | Chain | Variable APY | Liquidity |
|---|---|---|---|---|---|
| Loading live markets… | |||||
Calculator
What would you get?
Pick a market (or click a row above) and an amount. The fixed result uses the same compounding the plugin quotes. The variable line shows what today's variable APY would earn over the same period, which is not guaranteed.
The plugin's quote_fixed_yield gives the exact PT amount, price impact and fees for your real wallet before anything is proposed.
Eleven tools
The whole fixed-yield lifecycle
Six tools read and five return proposals. A proposal is never signed by the plugin.
preSignSingle) that buys PT only once the fixed rate reaches your target.callAndReflect transaction.Safety
Why you can trust the proposal
- It never signs. It only returns unsigned
io.paybox/transactionProposalcalls, and PayBox simulates each one and asks you before signing. - Pendle's API is treated as untrusted. The plugin decodes the calldata itself and only proposes a route that targets Pendle Router V4
0x8888…F946, with you as receiver, the requested market and the exact amount. - Roll-overs are checked call by call. Each nested call must match, and the reflector must be the one in Pendle's official deployments for that chain.
- Limit orders are rebuilt and re-hashed. Every field of Pendle's generated order must match your request (rate within 1e-9, expiry before maturity, empty permit), and the order is hashed on-chain by Pendle's Limit Router before it is proposed.
- Approvals are for the exact amount, never unlimited. Mainnet USDT is reset to 0 first.
- Risky trades are refused or flagged. It refuses trades over the price-impact limit, and flags low liquidity, short maturity, new markets, volatile underlyings, suspicious spreads, and points that go to YT rather than PT.
Chains
Verified with PayBox simulation
Build
Run it yourself
pnpm install --frozen-lockfile pnpm test # typecheck, deterministic build, conformance node scripts/qa.mjs # 42 live cases pnpm exec tsx scripts/check-routes.ts # router verification incl. tamper refusal