tokenstream.fun
Overview
tokenstream.fun lets you stream token trades across IBC using two methods:
- Direct from your wallet using
authzgrants. - Via Intento chain using packet-forward middleware (PFM).
In both cases, trades route through Skip:Go contracts on DEXes like Osmosis, leveraging IBC hooks and standardized execution paths. This gives you flexibility in timing and control while keeping execution decentralized and programmable.
Streaming Modes
There are two streaming styles you can pick from:
1. Split Input
- Divides your total input into equal portions over time.
- Great for reducing price impact from larger trades.
- Think of it as a linear execution schedule, not classic DCA.
2. Recur Input
- Streams smaller recurring amounts, one per interval.
- Mimics DCA behavior: each chunk gets its own market price.
- Useful for buying/selling into volatility over time.
Both methods help you trade with discipline and automation, not gut instinct. You choose how precise or aggressive the flow should be.
🛡️ Price Guard
Each stream includes an optional Price Guard setting:
- Sets a minimum output amount you're willing to accept.
- Protects against slippage or bad rates during volatile markets.
- Enforced on-chain via Skip:Go contracts using standard swap params.
💡 On roadmap: Automatic stream halt if the price drops below your guard threshold.
Streaming Directly (Integrated Chains)
- Works with chains that support the Cosmos permission system
authz(e.g. Osmosis). - One transaction creates a time-limited grant and starts the stream.
- Grant expires 10 minutes after the last execution, minimizing risk.
- Smooth reuse of grants for back-to-back streams.
Streaming via Intento + PFM
- Token is IBC-transferred from the source chain to Intento using PFM.
- Intento executes the swap on your behalf using
MsgExecand Skip:Go. - You must fund a derived sender account (displayed after stream creation) to cover execution gas.
- Lets you stream from non-authz chains like Noble.
(On roadmap: Auto-funding via affiliate margin or opt-in gas pooling.)
How To Use tokenstream.fun
Getting started is easy. The app detects the routing method automatically:
1. Select Tokens
Pick a source and destination token.
Examples:
USDC → OSMOOSMO → BTCATOM → INTO
Routing is handled for you.
Then hit Stream on supported routes, you'll see the Go Once and Stream buttons. If not supported, you'll see a Swap button.
2. Configure Stream Settings
Open the footer for optional controls:
Duration / Interval / Start Time
- Full control over pacing
Stream Mode
Split InputorRecur input
Price Guard
- Slippage protection
Email Notifications
- Get alerts on each swap
3. Review & Start Stream
From the Stream page, click Stream to begin.
Routing determines what happens next:
If using Authz:
- One transaction sets a temporary grant and starts the stream.
- Grant expires 10 minutes after the last execution.
If using PFM + Intento:
- First transaction sends your tokens via IBC to the Intento chain.
- You’ll be shown the Intento sender account to fund with gas tokens (e.g. OSMO or INTO).
- Once funded, the stream begins.
🔁 Example 1: OSMO → INTO (Osmosis to Intento via Authz)
Scenario:
Streaming OSMO to INTO on the same chain using a direct grant.
Setup:
Connect Osmosis wallet
Select
OSMO → INTOChoose duration + interval
Submit single transaction (includes:
MsgGrant+ stream parameters)
Behavior:
- Intento executes the flow on Osmosis using Skip:Go
- You receive INTO over time
- Grant expires 10 minutes after final execution
Requirements:
- OSMO for the trade
- OSMO for gas
🔁 Example 2: USDC (on the Noble blockchain) → ATOM (Cosmos Hub via PFM + Intento)
Scenario:
Stream from a non-authz chain (Noble) into Cosmos Hub using Packet Forwarding Middleware (PFM).
Setup:
- Connect Noble wallet
- Select
USDC (Noble)→ATOM (on chain Cosmos Hub) - Configure stream
- Submit transaction to start the IBC transfer
Behavior:
- USDC is IBC-transferred from Noble to Intento using PFM
- Tokens land on a derived Intento account on Osmosis (if route is through Osmosis)
- You fund that address with OSMO, ATOM or INTO for gas
- Intento executes the stream into ATOM using Skip:Go
Requirements:
- USDC on Noble
- Gas funds (e.g. ATOM) to fund the derived account
- Execution begins once account is funded
Execution may be delayed a few blocks due to IBC confirmation.
Notes & Limitations
- PFM-based streams require external funding of the derived sender account for gas.
- Skip:Go contracts assume a standardized IBC-Hooks and contracts.
- Native support for additional DEXes, flow types, and funding tokens is in progress.