Skip to Content
PluginsSuperfluid

Superfluid

Superfluid enables programmable streaming payments: continuous, per-second token transfers (“flows”) between addresses via the Constant Flow Agreement (CFA), and pro-rata distributions to a group of members via the General Distribution Agreement (GDA). Streams and distributions move value in real time without repeated transactions. This plugin also exposes wrap and unwrap actions for converting an underlying ERC-20 into its SuperToken form and back.

Supported chains: Ethereum, Optimism, Base, Arbitrum, and Sepolia (the CFAv1 and GDAv1 forwarder contracts are pinned to identical addresses across every chain Superfluid deploys to, including BNB Smart Chain, Polygon, and Avalanche C-Chain). SuperToken actions work on whichever of these chains the SuperToken you provide is deployed on. Read-only actions work without credentials. Write actions require a connected wallet.

Actions

Actions are grouped below by contract: the CFAv1 Forwarder (streams), the GDAv1 Forwarder (distribution pools), and the SuperToken contract (wrap/unwrap and balance).

CFAv1 Forwarder (Streams)

ActionSlugTypeDescription
Open Money Streamcreate-flowWriteOpen a continuous wei/sec stream of a SuperToken from sender to receiver
Update Stream Rateupdate-flowWriteChange the wei/sec rate of an existing stream
Close Money Streamdelete-flowWriteClose an open stream between sender and receiver
Read Flow Between Two Addressesget-flowReadRead the current flow rate, deposit, and last-updated timestamp for a stream
Read CFA Net Flow Rate of an Addressget-cfa-net-flowReadRead an address’s net flow rate from CFA streams only
Grant Flow-Operator Permissionsgrant-flow-operatorWriteAuthorize another address to manage your flows of a SuperToken up to a wei/sec allowance

Inputs for Open Money Stream: token (SuperToken Address), sender, receiver, flowRate (wei/sec), userData (advanced, default 0x).

When to use: Set up payroll or subscription-style streams, monitor a counterparty’s net flow before extending credit, revoke or update a stream when conditions change.

GDAv1 Forwarder (Distribution Pools)

ActionSlugTypeDescription
Create Distribution Poolcreate-poolWriteCreate a GDA distribution pool with the supplied address as administrator
Set Member Units in a Poolupdate-member-unitsWriteSet a recipient’s pro-rata share in a distribution pool
Instant Distribution to a PooldistributeWritePush a one-shot distribution into a pool, split pro-rata by member units
Stream Into a Pooldistribute-flowWriteOpen a continuous stream into a pool, split pro-rata by member units in real time
Connect to a Pool (Member Opt-In)connect-poolWriteMembers must call this from their own wallet to start receiving distributions
Read Net Flow Rate of an Addressget-net-flowReadRead an address’s net flow rate combining CFA streams and GDA pool distributions

The new pool address from Create Distribution Pool is emitted in the PoolCreated event; chain a Web3 event-query action after this action to capture it for use in subsequent pool actions.

When to use: Distribute protocol revenue or rewards pro-rata to a set of members, run a streaming payroll pool, monitor combined CFA and GDA flow for an address.

SuperToken (Wrap/Unwrap)

The SuperToken contract address is user-provided (for example a DAIx or USDCx address), so it works with any SuperToken deployed on a supported chain.

ActionSlugTypeDescription
Wrap to SuperTokenwrapWriteWrap an underlying ERC-20 amount into its SuperToken
Unwrap from SuperTokenunwrapWriteUnwrap a SuperToken amount back to its underlying ERC-20
Get SuperToken Balanceget-super-token-balanceReadRead an address’s current SuperToken balance
Get Underlying ERC-20 Addressget-underlying-tokenReadRead the underlying ERC-20 address for a SuperToken

Wrapping requires a prior ERC-20 approval for the SuperToken address.

When to use: Fund a stream by wrapping the underlying token, unwrap back to the underlying asset when closing out a position, check available SuperToken balance before opening a stream.


Example Workflows

Open a Payroll Stream

Manual -> Web3: Approve Token (underlying -> SuperToken) -> Superfluid: Wrap to SuperToken -> Superfluid: Open Money Stream

Approve and wrap an underlying token into its SuperToken form, then open a continuous stream to a recipient.

Net Flow Alert

Schedule (hourly) -> Superfluid: Read Net Flow Rate of an Address -> Condition (< 0) -> Discord: Send Message

Monitor an address’s combined CFA and GDA net flow rate and alert when it turns negative (net outflow).


Supported Chains

ChainCFAv1 / GDAv1 Forwarders
Ethereum (1)Available
Optimism (10)Available
Base (8453)Available
Arbitrum (42161)Available
Sepolia (11155111)Available

The forwarder contracts are deployed at the same address on every chain Superfluid supports; the table above lists the chains currently supported by KeeperHub. The full, current action list for this protocol is available in the app’s action grid and via the search_protocol_actions MCP tool.