← Back to home

Streme.fun

Streme.fun enables the AI Agent deployment of native streamable tokens with built-in staking rewards.

Problem Statement

Streme.fun DescriptionStreme.fun enables the easy deployment of tokens with super powers by conversing with the @streme AI agent. Token launchers are all the rage these days. But when the only thing you can do with a token issell it, you see a lot of charts that go up intially and then quickly go to (near) zero. As a solution to this, Streme coins have two super powers: streaming and staking. Powered by the Superfluid protocol, the tokens are natively streamable by the second, with no need to warp and unwrap. And as soon as you buy a Streme coin, you have the option to do stake it to earm streaming rewards by the second. Staking rewards are proportional to your share of the staked deposits: stake early to get a huge percentage of rewards stream.After buying a Streme coin, you can immediately start earning a yield with a significant APR. Staking rewards give buyers a reason to hodl for longer, reducing sell pressure. Have triple the fun when you can sell, stream, or stake.Streme SeasonsAs time passed, multiple seasons of Streme will introduce new parameters and/or functionality. InSeason One, deployements will have the followin characteristics:100 Billion total supply20 Billion to staking rewards pool, streamed linearly over 365 days to stakers1 day lock duration for staked deposits (you can unstake after 1 day)80 Billion to Uniswap v3 pool40% of Uniswap trading fees to the deployer, 60% to the Streme ProtocolStreme User InterfacesThe @streme AI agent is the primary user interface to the Streme protocol. The social feed makes interacting easy and exposes the tokens to followers of the deployer. Farcaster frames inject fuctionality directly into the social feed, facilating swapping and staking. This is where most of the fun happens.For token discovery and exposure outside of the Farcaster ecosystem, the streme.fun website provides listings and leaderboard of Streme coins with stats on trading and staking rewards. Find tokens to buy, find tokens to stake and earn yield.

Solution

Streme consists of the following components:AI Agent interface (and related server processes and datastore)Web frontend: https://streme.funSmart Contracts deployed to BaseAI Agent: @stremeThe @streme AI Agent is powered byCoinbase AgentKitandOpenAIand deployed byAutonome. Users interact with the AI Agent via the @streme user on Farcaster. In future, interfacing via X and Telegram is planned. The AI agent can answer questions about Streme and ask it to deploy tokens on their behalf. The user's message request is combined details from their Farcaster profile -- including their verified Ethereum address -- to deploy a token with their chosen name and symbol, to Base Mainnet. The requesting user will earn 40% of the trading fees.The server components of Streme are hosted by Google Firebase Functions, with indexed token data store in a Firestore datastore. An API endpoint receives new Farcaster messages from a webhook susbcription provided byNeynar. User messages are then passed to theAutonomeAI Agent to make an assesment of the user's intent and provide replies. If token deployment was requested, the Autonome agent extracts the name and symbol to be used for the token deployment transaction on Base Mainnet.Smart Contracts OverviewStreme has a modular contract structure, calling 4 modules in sequence:Token Deployment Module. This module deploys the token and sends minted tokens back the Streme contract (usually 100% of the tokens, but this is not a requirement)Post Deploy Hooks Module(optional). If configured, the Hooks module is granted allowance forallof the tokens received by the Streme contract. The Hook cantransferFrom()someof those tokens to be used for the purposes of the hook. Examples include presales distribution, requestor/team allocation, ecosystem fund allocation, community rewards, etc.. Only one Hook can be configured, but it can perfrom multiple tasks. The first season of Streme includes aStakingHook which will enables staking of the token in exchange for streaming rewards.Liquidity Provision (LP) Module. 100% of theremainingsupply owned by the Streme contract are sent (approved) to the LP Module. The first season of Streme leverages the open-source LP and LP "locker" code from theClankerproject, creating a single-sided LP position in a Uniswap v3 pool with all the remaining tokens, which is then locked.Post LP Hooks Module(optional). Not used in th initial version, these hooks could be used to implement an initial "dev buy" of the the token, or anything else that make sense, once LP has been provisioned.For each module, multiple modules can be supported concurrently, each permissioned (at least in first version). For example, there may be 3 registered (protocol approved) token factories, 2 Hooks, and 3 LP modules, and a token deployment config specifies the desired token factory, hook, and LP modules to be used for the deployment. The first season of Steme supports only one of each (and no Post LP Hook), but this structure facilitates future iteration and growth.Streme Smart ContractsThe following smart contracts have been deployed toBase Mainnet:Streme.sol- The master entry point contract that is called by the AI agent to intiate token deployment. This contract is modular and thus quite simple, calling functions on 2-4 external module functions as described above. Deployed at0PureSuperToken.sol- Implementation contract for pure (native) Super Tokens. Pure Super Tokens are tokens that natively support Superfluid streaming and do not have to be wrapped/unwrapped to activate streaming powers. This implementation contract is cloned when a new Streme coin is deployed by the AI Agent. Note: the code for this contract is open-source code writted by the Superfluid Protocol team. Deployed at0SuperTokenFactory.sol- Deploys super tokens by cloning the implementation contract above. In season, this is the Token Factory Module that is called byStreme.sol.Not to be confused with the Superfluid protocol contract with the same name. This factory pre-mints 100% of the total supply and sends it to the caller (Streme.sol). Deployed at0StakedToken.sol- Implementation contract for staking of Streme coins. Stakers receive these tokens 1:1 for their desposits. This contract also enforced alock duration, which can be set for zero or more seconds (set to 1 day for Season One). Upontransfer-- include mint/burn -- this contract updates shares in the rewards pool, proportional to their staked deposits (see more below). Deployed at0SuperfluidPool- Also know as a General Distribution Agreement Pool, a SuperfluidPool is deployed via the Superfluid protocol, to be used by the Streme Staking contracts for streaming rewards for stakers. Stakers are given shares ("units") in the pool proportional to their staked deposits. If you own hold 50% of the units, you will receive 50% of the total stream to the pool, with your balance updating every second. Note: the code for this contract is open-source code writted by the Superfluid Protocol team, which can be foundhStakingFactory.sol- In Season One, this contract is called as the Post Deploy Hook. For each Streme coin deployment, it deploys two contracts: 1) aSuperfluidPoolas described above that powers membership and streaming rewards for stakers, and 2) aStakedTokencontract by cloning the implementation above. For a Streme coin with the symbolCOIN, the staked token will be given the symbolstCOIN. The StakedToken contract has functions forstakeandunstake(if you stake1000 COIN, you get1000 stCOIN). As mentioned above, in Season One there is a one day locking duration for staked deposits -- in future seasons this may be increased or decreased. Deployed at0LpLockerv2.sol- ThisLP Lockercontract holds the locked LP positions of all Uniswap v3 positions deployed by theLP Factorycontract (see below). This contract also provides functions for claiming trading fees related to the LP positions. This contract has been modified from open source code written by theClankerteam. Deployed at0LPFactory.sol- The third module, called in sequence, from theStreme.solcontract, this module creates a Uniswapv3 Pool and takes the remaining tokens and creates a single-sided LP position, which is then sent to the LP Locker, as mentioned above. As with the the LP Locker, contract has been modified from open source code written by theClankerteam. Deployed at0The above contracts use interfaces, npm modules, and open-source code from Open Zeppelin, Uniswap, Superfluid, and Clanker.Streme.fun Web InterfaceThesweb interface provided token discovery for traders and interfacs to trade and stake/unstake Streme coins. Hosted byVercel, the web UI is built with Next.js, React, Viem, wagmi, and usesPrivyfor Ethereum wallet connections and0xbehind the scenes to enable trading of Streme coins.Example Streme Coin: $STREME$STREME contract: https://basescan.org/address/0x3b3cd21242ba44e9865b066e5ef5d1cc1030cc58$stSTREME staking contract: https://basescan.org/address/0x93419f1c0f73b278c73085c17407794a6580deffstaking rewards pool: https://explorer.superfluid.finance/base-mainnet/pools/0xa040a8564C433970D7919C441104B1d25b9eAa1cUniswap: https://app.uniswap.org/explore/tokens/base/0x3b3cd21242ba44e9865b066e5ef5d1cc1030cc58DEXScreener: https://dexscreener.com/base/0x9187c24a3a81618f07a9722b935617458f532737

Hackathon

Agentic Ethereum

2025

Prizes

  • 🏆

    Best Social Agent 📱🤖1st place

    Autonome

  • 🏆

    🏆 Agentic Ethereum 2025 Finalist

    ETHGlobal

Contributors