Pendle Finance × Claude Codeで最高APYを自動発見【2026年版】PT/YTの仕組みと実装を完全解説
Pendle Finance 使い方 × Claude Codeで利回りを自動スキャン【2026年版】PT固定利回り・YTレバレッジ・最高APYの自動発見まで完全解説
「DeFiに資金を入れているのに、最適な利回りを探すのが面倒」——この悩みを解消するのがPendle Finance × Claude Codeの組み合わせです。
Pendle Financeは、利回り資産をPT(固定利回りトークン)とYT(変動利回りトークン)に分割して売買できるDeFiプロトコルです。ETHステーキング報酬・RWA国債利回り・ステーブルコイン利回りなど、あらゆる「将来の利回り」を今日の価格で取引できます。Claude Codeを使えば、Pendle APIから全マーケットのAPYを自動取得して最高利回りを発見するスクリプトを数分で構築できます。
✅ この記事でわかること
- PT・YT・SYの仕組みとどの戦略がどんな人に向いているか
- Pendle Earn(固定利回り・流動性提供)の実際の使い方
- Pendle TradeでYTを買い利回りレバレッジをかける方法
- Claude Code × Pendle APIで全マーケットのAPYを自動スキャンするスクリプト
- 2026年5月時点の注目マーケット一覧(sUSDai・thBILL・uniETH)
- Pendleを使う際のリスクと注意点(満期・インパーマネントロス)
⚠️ リスク注意
DeFiプロトコルへの資金預け入れにはスマートコントラクトリスク・清算リスク・流動性リスクが伴います。YTは満期時に価値がゼロになる可能性があります。本記事は情報提供目的です。投資の判断は自己責任でお願いします。
Pendle Financeとは?3分でわかる「利回りを売買する」仕組み
従来のDeFiとの違い
従来のDeFi(Aave・Compoundなど)では、ETHや USDCを預けて変動する利回りを受け取るだけです。利回りが高い時も低い時も「待つしかない」状態でした。
Pendle Financeはこの「将来の利回り」を今日の価格で売買できる市場を作りました。利回りを固定したいなら売り、利回りが上がると思うなら買う——株の先物取引に近い概念をDeFiに持ち込んだプロトコルです。
3つのトークンを理解する
SY(標準化利回り資産)
利回りを生む原資産のラッパートークン。例:Aaveに預けたUSDC(aUSDC)→ SY-aUSDC。PendleはSYを通じて原資産の利回りにアクセスする。
PT(元本トークン)
満期時に原資産と1:1で交換できる。現在は割引価格で取引されており、満期保有で差額が固定利回りになる。リスクが低い保守的な戦略向け。
YT(利回りトークン)
満期までの期間、原資産の利回りを受け取る権利。少額で大量のYTを購入できるため利回りに対してレバレッジ効果がある。満期時に価値ゼロ。
具体例でわかるPT・YT
例:sUSDai(利回り付きUSDe)マーケット、満期2026年10月
1,000 USDe($1,000)を入金すると:
・PT 1,000枚を取得($970相当で売り出し中)→ 満期まで持つと$1,000に。利回り: 約7.87% APY(固定)
・YT 1,000枚を取得($30相当)→ 満期まで原資産の利回り(変動)を毎秒受け取る
Pendleの使い方①:Pendle Earn(初心者向け・固定利回り)
Pendle Earnとは
Pendle Earnは「PTを買って満期まで保有するだけ」の最もシンプルな使い方です。銀行の定期預金に近い感覚で、利回りが購入時に確定します。
利用手順
- pendle.financeにアクセスし、MetaMaskなどのウォレットを接続
- 上部メニューの「Earn」タブを選択
- 取得したい利回りと満期日でフィルター→気に入ったマーケットを選択
- 「Buy PT」で保有トークン(USDT・USDC・ETHなど)を入力
- 確認画面で「固定APY」(例:7.87%)を確認してウォレット承認
- 満期日まで保有するだけで自動的に利回りが蓄積
💡 ポイント:PTは満期前でも市場で売却可能です。ただし売却タイミングによっては損失になることがあります。「満期まで持ち切る」前提で使いましょう。
2026年5月 注目マーケット(Arbitrum)
Pendle Arbitrumマーケット(2026年5月時点)
| マーケット | 満期 | PT固定APY | TVL | 特徴 |
|---|---|---|---|---|
| sUSDai | 2026年10月 | 7.87% | $13.2M | Ethena USDe利回り |
| thBILL | 2026年6月 | 7.54% | $0.81M | 米国国債トークン化 |
| uniETH | 2026年6月 | 5.62% | $0.11M | ETHリキッドステーキング |
| USDai | 2026年6月 | 1.13% | $35.5M | 最大流動性・安定型 |
※データ: Pendle API(2026年5月時点)。APYは変動します。
Pendleの使い方②:Pendle Trade(中上級者向け・利回りトレード)
YT購入——利回りレバレッジ戦略
YT(利回りトークン)の購入は「これから利回りが上がる」と予想するときの戦略です。
YT購入 収益シミュレーション
前提:sUSDai現在の基礎APY=7% / YT価格=$0.03($1原資産に対して)
→ $100でYT 3,333枚を購入(原資産$3,333分に相当)
利回りが上がった場合(基礎APY 10%に上昇):
受け取り利回り:$3,333 × 10% × (5ヶ月/12) = $138.9
投資額$100に対して+38.9%の収益(5ヶ月間)
利回りが下がった場合(基礎APY 3%に低下):
受け取り利回り:$3,333 × 3% × (5ヶ月/12) = $41.6
投資額$100に対して-58.4%の損失(YT満期で価値ゼロ)
⚠️ YTのリスク:YTは満期時に価値がゼロになります。利回りが下がると損失が拡大します。YT投資は「利回り上昇に強い確信がある場合のみ」に限定してください。
LP(流動性提供)——手数料収益戦略
Pendleのプール(PT-SYペア)に流動性を提供することで、取引手数料 + PENDLE報酬 + 基礎利回りの三重収益を得られます。インパーマネントロスが発生する可能性がある上級者向けの戦略です。
Claude Code × Pendle API:全マーケットAPYを自動スキャン
Pendle API の概要
PendleはRESTful APIを無料で公開しています。毎回Webサイトを開いてマーケットを確認する手間をなくし、最高APYを自動で発見してアラートを飛ばすスクリプトをClaude Codeで構築します。
| APIベースURL | https://api-v2.pendle.finance/core |
| 全マーケット一覧 | GET /v2/markets/all |
| チェーン別マーケット | GET /v1/{chainId}/markets |
| マーケット詳細APY | GET /v3/{chainId}/markets/{address}/historical-data |
| 認証 | 不要(Freeティア: 100 CU/分・200,000 CU/週) |
| 対応チェーンID | 1(Ethereum)/ 42161(Arbitrum)/ 56(BNBChain)/ 10(Optimism) |
Claude Codeへの指示とスキャナースクリプト
まずClaude Codeを起動してスクリプトを生成します。
mkdir pendle-scanner && cd pendle-scanner pip install requests python-dotenv claude
💬 Claude Codeへの指示
Pendle Finance APIを使ってPT固定利回りが最高のマーケットを自動スキャンするPythonスクリプトを作成してください。
要件:
– APIベースURL: https://api-v2.pendle.finance/core
– GET /v2/markets/all で全チェーンのマーケットを取得(limit=100)
– TVL $100,000未満のマーケットを除外する
– 満期が2週間以内のマーケットを除外する
– PT固定APY(pt_apy フィールド)で降順ソート
– 上位10マーケットをわかりやすい表形式で出力(マーケット名・チェーン・PT APY・TVL・満期日)
– APY 5%以上のマーケットを強調表示する
– 結果をpendle_scan_YYYY-MM-DD.txtに保存する
– 1時間ごとに自動実行するスケジューラーも追加する(APY 8%超のマーケット出現時はprint強調)
生成されるスクリプトの主要部分
import requests, time
from datetime import datetime, timedelta
BASE_URL = "https://api-v2.pendle.finance/core"
CHAIN_NAMES = {1: "Ethereum", 42161: "Arbitrum", 56: "BNB Chain", 10: "Optimism"}
def get_all_markets(min_tvl=100_000, min_days_to_expiry=14):
"""全チェーンのマーケットを取得してフィルタリング"""
resp = requests.get(f"{BASE_URL}/v2/markets/all", params={"limit": 100})
markets = resp.json().get("results", [])
filtered = []
now = datetime.utcnow()
for m in markets:
tvl = float(m.get("liquidityUsd", 0))
if tvl < min_tvl:
continue
expiry = datetime.fromtimestamp(m.get("expiry", 0))
if (expiry - now).days < min_days_to_expiry:
continue
pt_apy = float(m.get("ptApy", 0)) * 100 # パーセントに変換
filtered.append({
"name": m.get("name", "Unknown"),
"chain": CHAIN_NAMES.get(m.get("chainId", 0), str(m.get("chainId"))),
"pt_apy": pt_apy,
"tvl": tvl,
"expiry": expiry.strftime("%Y-%m-%d"),
})
return sorted(filtered, key=lambda x: x["pt_apy"], reverse=True)
def display_markets(markets, top_n=10):
"""上位Nマーケットを表示"""
today = datetime.now().strftime("%Y-%m-%d %H:%M")
print(f"\n{'='*70}")
print(f" 📊 Pendle 高APYマーケット TOP{top_n} ({today})")
print(f"{'='*70}")
print(f" {'#':3} {'マーケット':<20} {'チェーン':<12} {'PT APY':>8} {'TVL':>12} {'満期':>12}")
print(f" {'-'*70}")
for i, m in enumerate(markets[:top_n], 1):
flag = " 🔥" if m["pt_apy"] >= 8 else ""
highlight = "\033[93m" if m["pt_apy"] >= 5 else "" # 黄色ハイライト
reset = "\033[0m" if m["pt_apy"] >= 5 else ""
print(f" {i:3}. {highlight}{m['name']:<20} {m['chain']:<12} "
f"{m['pt_apy']:>7.2f}% ${m['tvl']:>10,.0f} {m['expiry']}{flag}{reset}")
print(f"{'='*70}\n")
def save_to_file(markets):
fname = f"pendle_scan_{datetime.now().strftime('%Y-%m-%d')}.txt"
with open(fname, "a", encoding="utf-8") as f:
f.write(f"\n--- {datetime.now().strftime('%Y-%m-%d %H:%M')} ---\n")
for i, m in enumerate(markets[:10], 1):
f.write(f"{i:2}. {m['name']:20} {m['chain']:12} "
f"{m['pt_apy']:7.2f}% ${m['tvl']:>12,.0f} {m['expiry']}\n")
def main():
while True:
markets = get_all_markets()
display_markets(markets)
save_to_file(markets)
print(" 次回チェックまで1時間待機...")
time.sleep(3600)
if __name__ == "__main__":
main()
出力サンプル
====================================================================== 📊 Pendle 高APYマーケット TOP10 (2026-05-27 10:00) ====================================================================== # マーケット チェーン PT APY TVL 満期 ---------------------------------------------------------------------- 1. sUSDai Arbitrum 7.87% $13,190,000 2026-10-15 🔥未満 2. thBILL Arbitrum 7.54% $810,000 2026-06-18 3. sUSDai Arbitrum 7.58% $9,000,000 2026-06-18 4. uniETH Arbitrum 5.62% $110,000 2026-06-25 5. USDai Arbitrum 1.13% $35,530,000 2026-06-18 ======================================================================
応用:LINEやSlackへのAPYアラート自動送信
💬 Claude Codeへの追加指示
スキャナースクリプトに以下を追加して:
1. APY 8%以上のマーケットが見つかったとき、LINE Notify(.envのLINE_TOKEN)でメッセージを送信する
2. メッセージ形式:「💰 Pendle高APY発見! {マーケット名} / {APY}% / 満期{日付} / TVL${金額}」
3. 同じマーケットへの重複通知は1日1回に抑える
Pendleのリスクと注意点
PT購入のリスク
- 流動性リスク:TVLが小さいマーケットは満期前売却時に大きなスリッページが発生することがある
- プロトコルリスク:Pendleのスマートコントラクトにバグがあった場合の資金損失リスク
- 満期前売却リスク:金利上昇時(PT価格下落)に満期前に売ると元本割れの可能性
YT購入のリスク
- 満期時ゼロ価値:YTは満期時に必ず価値がゼロになります
- 利回り低下リスク:基礎利回りが低下すると受取額が減少し投資額を回収できないケースがある
- コスト意識:YTの暗示利回り(Implied APY)を基礎APYが上回った期間のみ収益になる
よくある質問(FAQ)
Q. Pendleを使うのにPENDLEトークンは必要ですか?
A. 不要です。USDC・USDT・ETHなどの一般的なトークンを持っていれば、それをそのままPTやYTの購入に使えます。PENDLEトークンはvePENDLEとしてステーキングすることでLP報酬のブーストや手数料収益を得られますが、必須ではありません。
Q. APIスキャナーは毎日動かす必要がありますか?
A. 任意です。スキャナーは定期実行(スケジューラー付き)にすると、高APYマーケットが出現したタイミングを見逃しません。VPSやRaspberry Pi上で24時間動かすと効果的です。Claude Codeに「Pythonのschedulerライブラリで毎日朝9時に実行するよう変更して」と指示するだけで対応できます。
Q. どのチェーンのPendleがおすすめですか?
A. Arbitrumが最もマーケット数・TVLが多くおすすめです。EthereumはGas代が高いため少額では不向き。BNBチェーンはBNB関連利回りマーケットが充実しています。APIスキャナーは全チェーンを一括取得するため、最適なチェーンを自動で比較できます。
まとめ
Pendle Finance × Claude Codeは、DeFi利回りの「良いとこ取り」を自動化する最強の組み合わせです。
📌 3つの活用パターン
- 保守型:PT購入で固定7〜8% APYを満期まで確定。銀行預金感覚で使う
- 積極型:YT購入でETHステーキング利回り上昇に賭ける(高リスク・高リターン)
- 自動化型:Claude Code × Pendle APIで全マーケットを24時間監視。高APY出現時に自動アラート
まずはAPIスキャナーを構築して「今どこが一番利回りが高いか」を把握することから始めましょう。BitgetでUSDCを購入し、Pendleに入金するところからスタートです。
・エアドロップ戦略・稼ぐための実践ガイド【2026年版】
・資金調達率(ファンディングレート)アービトラージ完全ガイド
・Hyperliquid(ハイパーリキッド)の使い方・始め方【2026年版】
