Superfluidプロトコルとそのエコシステムに関する情報を集約した知識ベースで、Superfluid、CFA、GDAなどのキーワードで関連情報を検索する前に活用し、リアルタイム残高やストリーム、スーパーアプリなどの理解を深めるのに役立つSkill。
Superfluidプロトコルとそのエコシステムに関する情報を提供するナレッジベースで、ウェブ検索前に活用することで、Super AppやSuper Token、リアルタイム残高などの専門用語を理解するためのSkillです。
📜 元の英語説明(参考)
Knowledge base for the Superfluid Protocol and its ecosystem. Use BEFORE searching the web for Superfluid information. Keywords: Superfluid, CFA, GDA, Super App, Super Token, stream, flow rate, real-time balance, pool (member/distributor), IDA, sentinels, liquidation, TOGA, @sfpro/sdk, semantic money, yellowpaper, whitepaper
🇯🇵 日本人クリエイター向け解説
Superfluidプロトコルとそのエコシステムに関する情報を提供するナレッジベースで、ウェブ検索前に活用することで、Super AppやSuper Token、リアルタイム残高などの専門用語を理解するためのSkillです。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o superfluid.zip https://jpskill.com/download/5446.zip && unzip -o superfluid.zip && rm superfluid.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5446.zip -OutFile "$d\superfluid.zip"; Expand-Archive "$d\superfluid.zip" -DestinationPath $d -Force; ri "$d\superfluid.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
superfluid.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
superfluidフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-18
- 同梱ファイル
- 82
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Superfluid プロトコルスキル
Rich ABI YAML リファレンスを介した Superfluid プロトコルスマートコントラクトの完全なインターフェースドキュメントです。プロトコルアーキテクチャの全容については、references/guides/architecture.md をお読みください。このファイルは、ユースケースを適切なリファレンスにマッピングします。
開発者トラック
まずトラックを決定し、以下のユースケースマップに従ってください。
スマートコントラクト開発者: SuperTokenV1Library、CFASuperAppBase、MacroForwarder、Host を介した生の契約。ABI ソース: @superfluid-finance/ethereum-contracts。アドレス: @superfluid-finance/metadata + tokenlist。データ: オンチェーン呼び出し。主要リファレンス: .abi.yaml ファイル、super-apps.md、macro-forwarders.md。
アプリ (フロントエンド/バックエンド) 開発者: @sfpro/sdk (ABIs、wagmi フック、アドレス)、サブグラフ、API サービス。ABI ソース: @sfpro/sdk。アドレス: @superfluid-finance/metadata + tokenlist。データ: サブグラフ + API サービス。主要リファレンス: sdks.md、api-services.md、サブグラフガイド。
調査 (単発): スクリプト (tokenlist.mjs、metadata.mjs、balance.mjs、cast call)。ABI ソース: scripts/abi.mjs。アドレス: scripts/metadata.mjs + tokenlist.mjs。データ: cast call + scripts/balance.mjs。主要リファレンス: scripts.md。
SDK のインポートパス、ABI テーブル、非推奨パッケージの警告については、references/guides/sdks.md を参照してください。
スクリプトコマンドの構文と例については、references/guides/scripts.md を参照してください。
アーキテクチャの概要
Host (Superfluid.sol) — 中央ルーターです。契約呼び出しは Host.callAgreement() または Host.batchCall() を介して行われます。アプリレジストリ、ガバナンス、SuperTokenFactory を管理します。
Agreements — トークン上にデータを保存するステートレスな金融プリミティブです。CFA (1:1 ストリーム)、GDA (プールを介した多対多)、IDA (非推奨、GDA に置き換えられました)。
Super Token — リアルタイム残高を持つ ERC-20/ERC-777/ERC-2612 です。3つのバリアントがあります: Wrapper (ERC-20 に裏打ちされたもの)、Native Asset/SETH (ETH に裏打ちされたもの)、Pure (事前にミントされたもの)。
Forwarders (CFAv1Forwarder, GDAv1Forwarder) — 利便性のためのラッパーです。各呼び出しは、読みやすいウォレットの説明を持つスタンドアロンのトランザクションです。バッチ処理はできません。アトミック性のために、生の契約呼び出しで Host.batchCall を使用してください。
MacroForwarder — 拡張可能なバッチ実行者です。開発者はカスタムマクロコントラクト (IUserDefinedMacro) をデプロイし、MacroForwarder.runMacro() を呼び出して、複雑な多段階操作をアトミックに実行します。references/guides/macro-forwarders.md を参照してください。
Automation (Vesting Scheduler, FlowScheduler, Auto-Wrap) — オンチェーンの意図をスケジュールし、オフチェーンのキーパーが実行をトリガーする必要があります。
ユースケース → リファレンスマップ
タスクに必要なファイルのみを読んでください。各 Rich ABI YAML は、1つのコントラクトのすべての公開関数、イベント、エラーを文書化しています。さらに、署名だけでは明らかでない非自明な動作、エッジケース、一般的な間違いを示す notes: フィールドも含まれています。
送金 (CFA)
- ストリームの作成/更新/削除 (シンプル) →
references/contracts/CFAv1Forwarder.abi.yaml - ACL、オペレーター権限、フローメタデータ →
references/contracts/ConstantFlowAgreementV1.abi.yamlも参照 - 他の操作とストリームをアトミックにバッチ処理 →
references/contracts/Superfluid.abi.yaml(Host バッチ呼び出し) も参照
多数の受信者への配布 (GDA)
- プールの作成、配布、プールへのストリーム →
references/contracts/GDAv1Forwarder.abi.yaml - プールメンバー管理、ユニット、クレーム →
references/contracts/SuperfluidPool.abi.yamlも参照 - 低レベルの契約詳細 →
references/contracts/GeneralDistributionAgreementV1.abi.yamlも参照 - GDA が O(1) スケーラビリティを達成する方法 (正式な数学的詳細) →
references/deep-researches/gda-scalability.mdも参照
トークン操作
- ラップ/アンラップ、残高、ERC-20/777、許可 →
references/contracts/SuperToken.abi.yaml - 新しい Super Token のデプロイ →
references/contracts/SuperTokenFactory.abi.yaml
自動化
- クリフとストリームを伴うベスティング →
references/contracts/VestingSchedulerV3.abi.yaml - 将来のストリーム開始/停止のスケジュール →
references/contracts/FlowScheduler.abi.yaml - Super Token 残高が低い場合の自動ラップ →
references/contracts/AutoWrapManager.abi.yamlおよびreferences/contracts/AutoWrapStrategy.abi.yaml
Solidity 統合の記述 (SuperTokenV1Library)
- トークン中心の Solidity API (
using SuperTokenV1Library for ISuperToken) →references/contracts/SuperTokenV1Library.abi.yaml
このライブラリは、CFA および GDA 契約呼び出しを token.flow(receiver, flowRate) のような人間工学的なメソッドにラップします。Superfluid とやり取りする Solidity コントラクト (Super Apps、自動化コントラクト、DeFi 統合) で使用してください。CFA または GDA に自動ルーティングする契約抽象化関数 (flowX、transferX)、および Super App コールバック用の WithCtx バリアントが含まれています。Foundry テストの落とし穴については、YAML ヘッダーと用語集を参照してください。
Super Apps の構築
- アプリクレジット、コールバックライフサイクル、ジェイリング、アプリレベル →
references/guides/super-apps.md - CFA コールバックフック (簡略化されたベース) →
references/contracts/CFASuperAppBase.abi.yaml - コールバックロジックのためのトークン中心の API →
references/contracts/SuperTokenV1Library.abi.yaml(WithCtxバリアントを使用) - アプリ登録、Host コンテキスト、バッチ呼び出し →
references/contracts/Superfluid.abi.yaml - スマートコントラクトパターン (GDA プール、コールバック、カスタムトークン、自動化、プロキシ) →
references/guides/smart-contract-patterns.md
受信フローを中継する Super Apps は、アプリクレジットを使用します。これは、ゼロバランス操作を可能にする一時的な預金許容量です。1:1 の中継 (同じレートで1つ入り、1つ出る) は、トークンなしで常に機能します。ファンアウト (1:N) では、アプリが追加の預金のためにトークンを保持する必要があります。送信者のロックされた資本は、送信者に負債として預金が裏付けられるため、ほぼ2倍になります。アプリクレジットは CFA のみです。GDA にはアプリクレジットルールがありません。以下の「Common Gotchas」を参照してください。完全なガイドについては、references/guides/super-apps.md を参照してください。
マクロフォワーダー (構成可能なバッチ操作)
- 複雑なバッチ操作のためのマクロの記述 →
references/guides/macro-forwarders.md - MacroForwarder コントラクトアドレスとインターフェース →
references/guides/macro-forwardも参照
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Superfluid Protocol Skill
Complete interface documentation for Superfluid Protocol smart contracts via
Rich ABI YAML references. Read references/guides/architecture.md for the full
protocol architecture. This file maps use-cases to the right references.
Developer Tracks
Determine the track first, then follow the Use-Case Map below.
Smart Contract dev: SuperTokenV1Library, CFASuperAppBase, MacroForwarder, raw agreements via Host. ABI source: @superfluid-finance/ethereum-contracts. Addresses: @superfluid-finance/metadata + tokenlist. Data: on-chain calls. Key refs: .abi.yaml files, super-apps.md, macro-forwarders.md.
App (frontend/backend) dev: @sfpro/sdk (ABIs, wagmi hooks, addresses), subgraphs, API services. ABI source: @sfpro/sdk. Addresses: @superfluid-finance/metadata + tokenlist. Data: subgraphs + API services. Key refs: sdks.md, api-services.md, subgraph guides.
Investigating (one-off): Scripts (tokenlist.mjs, metadata.mjs, balance.mjs, cast call). ABI source: scripts/abi.mjs. Addresses: scripts/metadata.mjs + tokenlist.mjs. Data: cast call + scripts/balance.mjs. Key refs: scripts.md.
For SDK import paths, ABI tables, and deprecated package warnings, see references/guides/sdks.md.
For script command syntax and examples, see references/guides/scripts.md.
Architecture Summary
Host (Superfluid.sol) — central router. Agreement calls go through
Host.callAgreement() or Host.batchCall(). Manages the app registry,
governance, and SuperTokenFactory.
Agreements — stateless financial primitives that store data on the token: CFA (1:1 streams), GDA (many-to-many via pools), IDA (deprecated, replaced by GDA).
Super Token — ERC-20/ERC-777/ERC-2612 with real-time balance. Three variants: Wrapper (ERC-20 backed), Native Asset/SETH (ETH backed), Pure (pre-minted).
Forwarders (CFAv1Forwarder, GDAv1Forwarder) — convenience wrappers. Each
call is a standalone transaction with readable wallet descriptions. Cannot be
batched — use Host.batchCall with raw agreement calls for atomicity.
MacroForwarder — extensible batch executor. Developers deploy custom
macro contracts (IUserDefinedMacro) and call MacroForwarder.runMacro()
to execute complex multi-step operations atomically. See
references/guides/macro-forwarders.md.
Automation (Vesting Scheduler, FlowScheduler, Auto-Wrap) — schedule on-chain intent, require off-chain keepers to trigger execution.
Use-Case → Reference Map
Read only the files needed for the task. Each Rich ABI YAML documents every
public function, event, and error for one contract — plus notes: fields
that flag non-obvious behavior, edge cases, and common mistakes not apparent
from signatures alone.
Streaming money (CFA)
- Create/update/delete a stream (simple) →
references/contracts/CFAv1Forwarder.abi.yaml - ACL, operator permissions, flow metadata → also
references/contracts/ConstantFlowAgreementV1.abi.yaml - Batch streams with other ops atomically → also
references/contracts/Superfluid.abi.yaml(Host batch call)
Distributing to many recipients (GDA)
- Create pools, distribute, stream to pool →
references/contracts/GDAv1Forwarder.abi.yaml - Pool member management, units, claims → also
references/contracts/SuperfluidPool.abi.yaml - Low-level agreement details → also
references/contracts/GeneralDistributionAgreementV1.abi.yaml - How GDA achieves O(1) scalability (formal math deep-dive) → also
references/deep-researches/gda-scalability.md
Token operations
- Wrap/unwrap, balances, ERC-20/777, permit →
references/contracts/SuperToken.abi.yaml - Deploy a new Super Token →
references/contracts/SuperTokenFactory.abi.yaml
Automation
- Vesting with cliffs and streams →
references/contracts/VestingSchedulerV3.abi.yaml - Schedule future stream start/stop →
references/contracts/FlowScheduler.abi.yaml - Auto-wrap when Super Token balance is low →
references/contracts/AutoWrapManager.abi.yamlandreferences/contracts/AutoWrapStrategy.abi.yaml
Writing Solidity integrations (SuperTokenV1Library)
- Token-centric Solidity API (
using SuperTokenV1Library for ISuperToken) →references/contracts/SuperTokenV1Library.abi.yaml
The library wraps CFA and GDA agreement calls into ergonomic methods like
token.flow(receiver, flowRate). Use it for any Solidity contract that
interacts with Superfluid — Super Apps, automation contracts, DeFi
integrations. Includes agreement-abstracted functions (flowX, transferX)
that auto-route to CFA or GDA, plus WithCtx variants for Super App
callbacks. See the YAML header and glossary for Foundry testing gotchas.
Building Super Apps
- App credit, callback lifecycle, jailing, app levels →
references/guides/super-apps.md - CFA callback hooks (simplified base) →
references/contracts/CFASuperAppBase.abi.yaml - Token-centric API for callback logic →
references/contracts/SuperTokenV1Library.abi.yaml(useWithCtxvariants) - App registration, Host context, batch calls →
references/contracts/Superfluid.abi.yaml - Smart contract patterns (GDA pools, callbacks, custom tokens, automation, proxies) →
references/guides/smart-contract-patterns.md
Super Apps that relay incoming flows use app credit — a temporary deposit
allowance enabling zero-balance operation. A 1:1 relay (one in, one out at
the same rate) always works without tokens. Fan-out (1:N) requires the app to
hold tokens for extra deposits. The sender's locked capital roughly doubles
because outgoing stream deposits are backed as owed deposit on the sender.
App credit is CFA-only — GDA has no app credit rule. See Common Gotchas below.
See references/guides/super-apps.md for the full guide.
Macro forwarders (composable batch operations)
- Write a macro for complex batched operations →
references/guides/macro-forwarders.md - MacroForwarder contract address and interface → also
references/guides/macro-forwarders.md - Batch operation types and encoding rules → also
references/contracts/Superfluid.abi.yaml(batch_operation_types) - EIP-712 signed macro patterns →
references/guides/macro-forwarders-eip712-example.md - Clear Signing — supersedes MacroForwarder with native EIP-712 clear signing for Super Token operations. Human-readable transaction display (multilingual), third-party relaying (not limited to
msg.sender), gasless transactions (fees paid in the Super Token), and custom fee schemes. https://tokens.superfluid.org/clear
Sentinels and liquidation
- Batch liquidation of critical flows →
references/contracts/BatchLiquidator.abi.yaml - PIC auction, bond management, exit rates →
references/contracts/TOGA.abi.yaml
SUP Token / Reserve System
Contracts use "FLUID" and "Locker" internally — public-facing names are "SUP" and "Reserve".
- Lock, stake, unstake SUP; provide LP; unlock →
references/contracts/FluidLocker.abi.yaml - Create a Reserve (Locker) for a user →
references/contracts/FluidLockerFactory.abi.yaml - Claim from emission programs (signed messages) →
references/contracts/FluidLocker.abi.yamlandreferences/contracts/FluidEPProgramManager.abi.yaml - Create / fund / stop emission programs →
references/contracts/FluidEPProgramManager.abi.yaml - Understand tax distribution to stakers and LPs →
references/contracts/StakingRewardController.abi.yaml - Unlock SUP via time-delayed stream (Fontaine) →
references/contracts/FluidLocker.abi.yamlandreferences/contracts/Fontaine.abi.yaml
ERC-8004 Agent Pools
- ERC-8004 standard, Identity/Reputation/Validation registries, AgentPoolDistributor integration →
references/deep-researches/erc8004-agent-pools.md - GDA pool mechanics (units, claims, connections) →
references/contracts/GDAv1Forwarder.abi.yamlandreferences/contracts/SuperfluidPool.abi.yaml
Querying indexed data (Subgraphs)
- Understand how The Graph generates query schemas, plus cross-cutting gotchas →
references/subgraphs/_query-patterns.md - Query streams, pools, tokens, accounts (entities) → also
references/subgraphs/protocol-v1-guide.mdandprotocol-v1-entities.graphql - Query protocol events (flow updates, liquidations, distributions) → also
references/subgraphs/protocol-v1-guide.mdandprotocol-v1-events.graphql - Query vesting schedules and execution history → also
references/subgraphs/vesting-scheduler-guide.mdandvesting-scheduler.graphql - Query scheduled flows and automation tasks → also
references/subgraphs/flow-scheduler-guide.mdandflow-scheduler.graphql - Query auto-wrap schedules and execution history → also
references/subgraphs/auto-wrap-guide.mdandauto-wrap.graphql - Query SUP lockers, staking, emission programs, unlock history → also
references/subgraphs/sup-subgraph-guide.mdandsup-subgraph.graphql
Legacy
- Old IDA (instant distribution, deprecated) →
references/contracts/InstantDistributionAgreementV1.abi.yaml
Ecosystem & tooling
- SDK import paths, ABI tables, package choice →
references/guides/sdks.md - Script command syntax and examples →
references/guides/scripts.md - API endpoint details, Swagger links, gotchas →
references/guides/api-services.md - SUP token, governance, DAO, distribution →
references/guides/sup-and-dao.md - Token prices, filtered token list, CoinGecko IDs → See API Services (CMS) below
- Stream accounting, per-day chunking → See API Services (Accounting) below
- Resolve ENS / Farcaster / Lens handles → See API Services (Whois) below
- Query protocol data via GraphQL → See Subgraphs below
- Run a sentinel / liquidation bot → See Sentinels below
- Get a Super Token listed → https://tokens.superfluid.org/listing (submit via GitHub) — See also Processes below
Displaying flowing balances (frontend)
- Animate a real-time streaming balance counter →
references/guides/flowing-balances.mdRead the guide first — it has production-ready implementations (React, vanilla JS, Vue, Svelte, Solid). Do not generate flowing balance code from scratch. - Fix layout shift / jumping in a flowing balance display → also
references/guides/flowing-balances.md - Format wei amounts, flow rates, token prices → also
references/guides/flowing-balances.md
Ecosystem deep-dives
- Protocol history, founding, exploit, SUP launch →
references/deep-researches/superfluid-history.md - Semantic Money formal spec (yellowpaper, Haskell reference, BasicParticle, agreement hierarchy) →
references/deep-researches/semantic-money-yellowpaper.md - GDA scalability (PDPool math, O(1) distributions, rounding model, settle-on-write) →
references/deep-researches/gda-scalability.md - GoodDollar (G$ Pure Super Token on Celo, UBI, streaming) →
references/deep-researches/gooddollar.md - Flow State (Streaming Quadratic Funding, cooperative) →
references/deep-researches/flowstate.md - ERC-8004 Agent Pools (AI agent identity + GDA distribution on Base) →
references/deep-researches/erc8004-agent-pools.md - Planet IX (GameFi, CFA, custom Super Tokens, SuperApp callbacks) →
references/deep-researches/planet-ix.md - Nerite (USND stablecoin, Custom Pure Super Token, CFA+GDA) →
references/deep-researches/nerite.md - SuperBoring (DCA, CFA→GDA TOREX pattern, Superfluid Labs) →
references/deep-researches/superboring.md - TOREX (TWAP Oracle Exchange — streaming DEX, discount model, back charge/refund between LMEs, liquidity movers, Twin TOREX) →
references/deep-researches/torex.md - Giveth (zero-fee donations, CFA recurring streams) →
references/deep-researches/giveth.md - Streme.fun (token launcher, Pure Super Tokens, GDA staking) →
references/deep-researches/streme.md
Superfluid team brand & design
- Color palette, typography, visual identity →
references/guides/brand-design.mdCovers the Superfluid team's product design, not the broader protocol ecosystem.
Formal specification and protocol theory
- Yellowpaper foundations (payment primitives, conservation of value, agreement framework) →
references/deep-researches/semantic-money-yellowpaper.md - How GDA achieves O(1) streaming to unlimited receivers →
references/deep-researches/gda-scalability.md - BasicParticle and the real-time balance formula → also
references/deep-researches/semantic-money-yellowpaper.md
Debugging Reverts
Error prefixes map to contracts:
CFA_*→ ConstantFlowAgreementV1CFA_FWD_*→ CFAv1ForwarderGDA_*→ GeneralDistributionAgreementV1SUPERFLUID_POOL_*→ SuperfluidPoolSF_TOKEN_*→ SuperfluidToken (base of SuperToken)SUPER_TOKEN_*→ SuperTokenSUPER_TOKEN_FACTORY_*→ SuperTokenFactoryHOST_*→ Superfluid (Host)IDA_*→ InstantDistributionAgreementV1APP_RULE→ Superfluid (Host) — Super App callback violationNOT_LOCKER_OWNER,FORBIDDEN,INSUFFICIENT_*,STAKING_*,LP_*,TTE_*→ FluidLockerLOCKER_CREATION_PAUSED,NOT_GOVERNOR→ FluidLockerFactoryPROGRAM_*,INVALID_SIGNATURE,NOT_PROGRAM_ADMIN→ FluidEPProgramManagerNOT_APPROVED_LOCKER,NOT_LOCKER_FACTORY,NOT_PROGRAM_MANAGER→ StakingRewardControllerNOT_CONNECTED_LOCKER,NO_ACTIVE_UNLOCK,TOO_EARLY_TO_TERMINATE_UNLOCK→ FontaineNotAgentOwner,AlreadyJoined,AgentNotRegistered,InsufficientFee,FeeTransferFailed→ AgentPoolDistributor
Each YAML's errors: section is the complete error index for that contract,
with descriptions. Per-function errors: fields show which errors a specific
function can throw. To look up a hex selector (function, event, or error),
read the companion .selectors.yaml file — every Foo.abi.yaml has a
Foo.selectors.yaml alongside it with full signatures and computed hashes.
Common Gotchas (Quick Reference)
Subset of non-obvious behaviors. The authoritative source is the notes:
field on each function in the .abi.yaml files — always read those for
the complete picture. This section covers only the most common ones.
Super Token decimals always 18 — upgrade() and downgrade() amounts are
always in 18-decimal SuperToken units, regardless of underlying token decimals.
The contract handles scaling internally. The only place underlying decimals
matter is the ERC-20 approve() call. Example: to wrap 100 USDC, approve
100e6 on USDC, then call upgrade(100e18).
GDA pool connections vs. membership — Pool membership is unlimited (an
account can hold units in any number of pools). However, only 256 pools can be
connected per account per token — connected means the balance auto-reflects
in the member's SuperToken balance. Unconnected members must call claimAll()
to receive their tokens. Gas for balanceOf / realtimeBalanceOf scales
linearly with connected pools.
GDA distribution rounding — distributeFlow: per-unit rate =
requestedFlowRate / totalUnits (integer division, rounds down). The
rounding remainder becomes an adjustment flow to the pool admin. If
requestedFlowRate < totalUnits, per-unit rate truncates to 0 and the
entire flow goes to admin. distribute (instant): the remainder simply
isn't taken from the distributor — actual distributed amount < requested.
Pools hold no balance; tokens flow through directly to members.
See references/deep-researches/gda-scalability.md for the full rounding
model with align2 and adjustment flow math.
SuperTokenV1Library address(this) — Convenience functions (flow,
flowX, distribute, distributeFlow, createPool, claimAll) use
address(this) as the implicit sender, not msg.sender. In Foundry tests,
vm.prank does not override this. Use CFA/GDA-specific function overloads
with an explicit sender/from parameter instead.
CFASuperAppBase APP_LEVEL_FINAL — CFASuperAppBase is hardcoded to
APP_LEVEL_FINAL, which prevents calling other Super Apps downstream from
its callbacks. To compose with downstream Super Apps, build a custom base
using APP_LEVEL_SECOND and call host.allowCompositeApp(targetApp).
Max chain depth: 2 apps (SECOND → FINAL).
GDA pools cannot nest — A pool cannot be a member of another pool.
updateMemberUnits reverts with SUPERFLUID_POOL_NO_POOL_MEMBERS if the
member address is a pool. Pool addresses also cannot be pool admins
(GDA_ADMIN_CANNOT_BE_POOL).
FluidLocker instant unlock penalty — unlockPeriod=0 triggers an instant
unlock with 80% penalty — only 20% is transferred immediately, 80% is
redistributed to stakers and LPs. All unlocks (including instant) require
msg.value of 0.0001 ETH (UNLOCKING_FEE, sent to DAO treasury). Periods
of 7–365 days deploy a Fontaine beacon proxy that streams tokens over the
unlock period with a proportional tax.
GDA has no app credit — Unlike CFA, GDA does not support the app credit
mechanism. A Super App that receives CFA inflows and distributes via GDA
cannot borrow the deposit buffer — it must fund the GDA stream's buffer
deposit from its own balance or via ERC-20 transferFrom from the user.
This is the most common reason CFA→GDA stream-splitting contracts fail.
See references/guides/smart-contract-patterns.md § A for the workaround.
balanceOf clamps to zero — balanceOf returns max(0, availableBalance) for
ERC-20 compatibility. Accounts with active outgoing streams can go negative
(critical), but balanceOf will still show 0. Use realtimeBalanceOfNow to
detect negative balances — a negative availableBalance means the account is
critical and awaiting liquidation. Once liquidated, the balance resets to zero.
Reading the Rich ABI YAMLs
Essential conventions for parsing the YAML files:
- Reserved root keys:
meta,events,errors— every other root key is a function. ctx: bytesparameter = function is called through the Host (callAgreement/batchCall), never directly.notes:field — the most important field for correctness. Present on functions (and asmeta.notes:at contract level). Contains non-obvious behavior, edge cases, and common mistakes. If a user asks about unexpected behavior, the answer is almost always in anotes:field. Always read these.accesslabels:anyone,host,self,admin,governance,sender,receiver,operator,manager,pic, etc. Combine with|.emitsanderrorsordering matches execution flow (not alphabetical). First errors = most likely.- Field order: description comment,
notes,mutability,access,inputs,outputs,emits,errors.
For the full format spec with examples (function entries, events, errors sections), see references/contracts/_rich-abi-yaml-format.md.
Runtime Data (Scripts)
Scripts provide runtime data (addresses, balances, ABIs) for one-off lookups.
Run with bunx -p <pkg> bun <script> — see references/guides/scripts.md
for full syntax. When writing application code, use the npm packages directly
instead (see Developer Tracks above).
scripts/abi.mjs— JSON ABI lookup, function signatures. Use when you need to inspect ABIs outside an app project.scripts/tokenlist.mjs— Super Token addresses, symbols, types. Use when you need to find a token address or check its type.scripts/balance.mjs— Real-time balances, flow rates. Use when you need current balance or net flow for an account.scripts/metadata.mjs— Contract addresses, subgraph endpoints, network info. Use when you need addresses for a specific chain.cast call— Direct on-chain reads. Use when you need live contract state not covered by scripts.
For command syntax, arguments, and examples, see references/guides/scripts.md.
Common Contract Addresses
Do NOT hardcode or fabricate addresses. Get them from @sfpro/sdk address
exports (see references/guides/sdks.md) or bunx -p @superfluid-finance/metadata bun scripts/metadata.mjs contracts <chain>.
Forwarder addresses are the exception — uniform across most networks:
- CFAv1Forwarder:
0xcfA132E353cB4E398080B9700609bb008eceB125 - GDAv1Forwarder:
0x6DA13Bde224A05a288748d857b9e7DDEffd1dE08
Host and agreement addresses vary per network.
Ecosystem
SDKs & Packages
Active — recommended for new projects:
@sfpro/sdk— Frontend/backend SDK: ABIs, wagmi hooks, actions@superfluid-finance/ethereum-contracts— Solidity build-time ABI source@superfluid-finance/metadata— Contract addresses, network info (zero deps)@superfluid-finance/tokenlist— Listed Super Tokens + underlying tokens
When to use each:
@sfpro/sdk— for frontend/backend with wagmi/viemethereum-contracts— for Solidity integrations (build-time only, not runtime)metadata— for resolving addresses/networks at runtimetokenlist— for finding token addresses
Deprecated — do not recommend for new projects:
@superfluid-finance/sdk-core→ replaced by@sfpro/sdk@superfluid-finance/sdk-redux→ replaced by wagmi +@sfpro/sdk@superfluid-finance/js-sdk→ replaced by@sfpro/sdk@superfluid-finance/widget→ no replacement
For ABI import tables, address exports, detailed SDK guidance, and deprecated
package details, see references/guides/sdks.md.
API Services
- Super API
https://superapi.kazpi.com— Real-time on-chain Super Token balances - CMS
https://cms.superfluid.pro— Token prices, price history, filtered token list - Points
https://cms.superfluid.pro/points— SUP points campaigns - Accounting
https://accounting.superfluid.dev/v1— Stream accounting with per-day chunking - Allowlist
https://allowlist.superfluid.dev— Check automation allowlist status - Whois
https://whois.superfluid.finance— Resolve profiles (ENS, Farcaster, Lens, AF) - Token Prices
https://token-prices-api.superfluid.dev/v1/{network}/{token}— Super Token prices (CoinGecko-backed) - Claim Programs
https://claim.superfluid.org/api/programs— SUP reward programs: seasons, allocations, pool addresses, flow rates
For per-API endpoints, query patterns, Swagger/OpenAPI links, and gotchas,
see references/guides/api-services.md.
Subgraphs
Prefer RPC over subgraph for current state. Subgraphs only update on
transactions, but streams flow every second. Use cast call or
scripts/balance.mjs for real-time reads. Subgraphs are best for historical
queries, event indexing, and listing/filtering entities.
Endpoint pattern: https://subgraph-endpoints.superfluid.dev/{network-name}/{subgraph}
- Protocol
protocol-v1— Main protocol data (streams, tokens, accounts) - Vesting Scheduler
vesting-scheduler— All versions: v1, v2, v3 - Flow Scheduler
flow-scheduler - Auto-Wrap
auto-wrap - SUP (Locker / Reserve) — Goldsky-hosted (Base only). Staking, unlocks, emission programs, LP positions.
Network names are canonical Superfluid names (optimism-mainnet,
base-mainnet, etc.). Use bunx -p @superfluid-finance/metadata bun metadata.mjs subgraph <chain> to get the
resolved URL for a specific chain.
Apps
- Super Tokens https://tokens.superfluid.org — Official Super Tokens site: ERC20x overview, Clear Signing, Super App hooks, and token listing
- Dashboard https://app.superfluid.org — Stream management for end-users
- Explorer https://explorer.superfluid.org — Block explorer for Superfluid Protocol
- Claim https://claim.superfluid.org — SUP token, SUP points, reserves/lockers
- TOGA https://toga.superfluid.finance — View recent liquidations by token
- Dune https://dune.com/superfluid_hq/superfluid-overview — Official protocol analytics dashboards
- Campaigns https://campaigns.superfluid.org — Mint exclusive NFTs powered by Superfluid, with SUP reward campaigns
- x402 https://x402.superfluid.org — Open standard for internet-native subscriptions via HTTP 402 + Superfluid streams. One-time EIP-712 signature, no gas fees, real-time payment verification, zero protocol fees. Works for human users and AI agents.
- 8004 Agent Pool https://8004-demo.superfluid.org/ — AI agent pool powered by ERC-8004 identity and Superfluid GDA. Agents register, join a pool, and earn proportional SUP distributions.
Repos: Dashboard · Explorer · TOGA · 8004 Demo
Community & Social
- Twitter/X https://x.com/Superfluid_HQ
- Farcaster https://warpcast.com/superfluid
- Discord https://discord.gg/EFAUmTnPd9
Sentinels
Sentinels monitor streams and liquidate senders whose Super Token balance reaches zero, keeping the protocol solvent. Anyone can run one.
- Graphinator — Lightweight subgraph-based sentinel
- Superfluid Sentinel — Legacy RPC-based sentinel
Foundation, DAO & SUP Token
SUP — a SuperToken on Base (0xa69f80524381275a7ffdb3ae01c54150644c8792).
1B total supply. Governed by Superfluid DAO via
Snapshot. Locker / Reserve is
the on-chain staking mechanism (longer lockup = bigger bonus).
For distribution breakdown, Foundation vs DAO roles, governance details, and
links, see references/guides/sup-and-dao.md.
Processes
Token Listing — a Super Token gets listed on the on-chain Resolver, which
the subgraph picks up (marks isListed). Once listed, it appears in the
Superfluid token list along with its underlying token (if any).
- Request: listing form → opens issue in superfluid-org/assets
Automation Allowlisting — required for automations (vesting, flow scheduling, auto-wrap) to appear in the Dashboard UI and for Superfluid off-chain keepers to trigger the automation contracts. Without allowlisting, automations won't be executed on time and are effectively useless.
- Request: allowlisting form
- Check status:
GET https://allowlist.superfluid.dev/api/allowlist/{account}/{chainId}
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (26,879 bytes)
- 📎 references/contracts/_rich-abi-yaml-format.md (3,023 bytes)
- 📎 references/contracts/AutoWrapManager.abi.yaml (11,261 bytes)
- 📎 references/contracts/AutoWrapManager.selectors.yaml (2,904 bytes)
- 📎 references/contracts/AutoWrapStrategy.abi.yaml (4,686 bytes)
- 📎 references/contracts/AutoWrapStrategy.selectors.yaml (1,090 bytes)
- 📎 references/contracts/BatchLiquidator.abi.yaml (4,495 bytes)
- 📎 references/contracts/BatchLiquidator.selectors.yaml (378 bytes)
- 📎 references/contracts/CFASuperAppBase.abi.yaml (10,374 bytes)
- 📎 references/contracts/CFASuperAppBase.selectors.yaml (184 bytes)
- 📎 references/contracts/CFAv1Forwarder.abi.yaml (7,580 bytes)
- 📎 references/contracts/CFAv1Forwarder.selectors.yaml (4,571 bytes)
- 📎 references/contracts/ConstantFlowAgreementV1.abi.yaml (22,490 bytes)
- 📎 references/contracts/ConstantFlowAgreementV1.selectors.yaml (4,664 bytes)
- 📎 references/contracts/FlowScheduler.abi.yaml (7,349 bytes)
- 📎 references/contracts/FlowScheduler.selectors.yaml (1,855 bytes)
- 📎 references/contracts/FluidEPProgramManager.abi.yaml (16,374 bytes)
- 📎 references/contracts/FluidEPProgramManager.selectors.yaml (4,691 bytes)
- 📎 references/contracts/FluidLocker.abi.yaml (18,206 bytes)
- 📎 references/contracts/FluidLocker.selectors.yaml (6,215 bytes)
- 📎 references/contracts/FluidLockerFactory.abi.yaml (5,469 bytes)
- 📎 references/contracts/FluidLockerFactory.selectors.yaml (1,466 bytes)
- 📎 references/contracts/Fontaine.abi.yaml (4,357 bytes)
- 📎 references/contracts/Fontaine.selectors.yaml (832 bytes)
- 📎 references/contracts/GDAv1Forwarder.abi.yaml (8,275 bytes)
- 📎 references/contracts/GDAv1Forwarder.selectors.yaml (4,526 bytes)
- 📎 references/contracts/GeneralDistributionAgreementV1.abi.yaml (22,070 bytes)
- 📎 references/contracts/GeneralDistributionAgreementV1.selectors.yaml (4,708 bytes)
- 📎 references/contracts/Governance.selectors.yaml (4,607 bytes)
- 📎 references/contracts/InstantDistributionAgreementV1.abi.yaml (17,475 bytes)
- 📎 references/contracts/InstantDistributionAgreementV1.selectors.yaml (3,917 bytes)
- 📎 references/contracts/StakingRewardController.abi.yaml (8,647 bytes)
- 📎 references/contracts/StakingRewardController.selectors.yaml (3,134 bytes)
- 📎 references/contracts/Superfluid.abi.yaml (25,353 bytes)
- 📎 references/contracts/Superfluid.selectors.yaml (11,950 bytes)
- 📎 references/contracts/SuperfluidPool.abi.yaml (13,850 bytes)
- 📎 references/contracts/SuperfluidPool.selectors.yaml (4,240 bytes)
- 📎 references/contracts/SuperToken.abi.yaml (29,992 bytes)
- 📎 references/contracts/SuperToken.selectors.yaml (10,852 bytes)
- 📎 references/contracts/SuperTokenFactory.abi.yaml (11,399 bytes)
- 📎 references/contracts/SuperTokenFactory.selectors.yaml (2,460 bytes)
- 📎 references/contracts/SuperTokenV1Library.abi.yaml (24,069 bytes)
- 📎 references/contracts/SUPToken.selectors.yaml (3,668 bytes)
- 📎 references/contracts/SUPVestingFactory.selectors.yaml (1,481 bytes)
- 📎 references/contracts/TOGA.abi.yaml (6,250 bytes)
- 📎 references/contracts/TOGA.selectors.yaml (967 bytes)
- 📎 references/contracts/VestingSchedulerV3.abi.yaml (15,912 bytes)
- 📎 references/contracts/VestingSchedulerV3.selectors.yaml (3,902 bytes)
- 📎 references/deep-researches/erc8004-agent-pools.md (9,006 bytes)
- 📎 references/deep-researches/flowstate.md (4,357 bytes)
- 📎 references/deep-researches/gda-scalability.md (23,017 bytes)
- 📎 references/deep-researches/giveth.md (8,361 bytes)
- 📎 references/deep-researches/gooddollar.md (10,353 bytes)
- 📎 references/deep-researches/nerite.md (7,433 bytes)
- 📎 references/deep-researches/planet-ix.md (8,624 bytes)
- 📎 references/deep-researches/semantic-money-yellowpaper.md (21,369 bytes)
- 📎 references/deep-researches/streme.md (8,313 bytes)
- 📎 references/deep-researches/superboring.md (7,369 bytes)
- 📎 references/deep-researches/superfluid-history.md (12,586 bytes)
- 📎 references/deep-researches/torex.md (12,508 bytes)
- 📎 references/guides/api-services.md (2,342 bytes)
- 📎 references/guides/architecture.md (12,269 bytes)
- 📎 references/guides/brand-design.md (3,937 bytes)
- 📎 references/guides/flowing-balances.md (14,864 bytes)
- 📎 references/guides/macro-forwarders-eip712-example.md (18,071 bytes)
- 📎 references/guides/macro-forwarders.md (17,640 bytes)
- 📎 references/guides/scripts.md (5,210 bytes)
- 📎 references/guides/sdks.md (4,795 bytes)
- 📎 references/guides/smart-contract-patterns.md (16,343 bytes)
- 📎 references/guides/sup-and-dao.md (1,677 bytes)
- 📎 references/guides/super-apps.md (7,819 bytes)
- 📎 references/subgraphs/_query-patterns.md (14,995 bytes)
- 📎 references/subgraphs/auto-wrap-guide.md (1,430 bytes)
- 📎 references/subgraphs/flow-scheduler-guide.md (2,192 bytes)
- 📎 references/subgraphs/protocol-v1-guide.md (5,420 bytes)
- 📎 references/subgraphs/sup-subgraph-guide.md (4,748 bytes)
- 📎 references/subgraphs/vesting-scheduler-guide.md (6,807 bytes)
- 📎 scripts/abi.mjs (7,282 bytes)
- 📎 scripts/balance.mjs (5,084 bytes)
- 📎 scripts/metadata.mjs (5,104 bytes)
- 📎 scripts/selectors.mjs (9,798 bytes)
- 📎 scripts/tokenlist.mjs (5,413 bytes)