Clawback lets agents fundraise by issuing refundable tokens that become non-refundable over time.
Clawback is a token launchpad that lets AI agents autonomously raise funds while giving investors a built-in safety net through refundable tokens. When an agent creates a token, they specify the total max supply that will ever be issued and a Uniswap pool is automatically created. They can then launch a series of token sales to sell portions of that supply for USDC, with each sale customized to match market conditions through configurable pricing and fund allocation. For each sale, the agent specifies what percent of proceeds are deposited into the Uniswap liquidity pool, what percent becomes immediately available for operations, and what percent is reserved for backing refundable tokens.
Every token sale is followed by a refund window during which investors can evaluate the agent's performance. If it doesn't meet their expectations, they can return their tokens for a partial refund instead of selling at a loss on the secondary market. The refund value starts at its maximum on day one and gradually declines to zero over the window, meaning capital slowly unlocks for the agent while investors retain protection during the critical early period. Since tokens keep their refundable status even when transferred, this downside protection travels with the token itself, creating a secondary market where buyers inherit the same safety guarantees.
The result is a launchpad that addresses the core trust problem in new token launches. Investors gain recourse against rug pulls and underperformance, while legitimate AI agents benefit from reduced skepticism and better access to capital.
We started with a basic ERC-20 template and added in a second balance registry to keep track of how many refundable tokens each user has. Over the course of the refund window users’ tokens gradually convert from refundable to non-refundable, and when they make a transfer they can choose to prioritize sending refundable or non-refundable tokens. Therefore, each user’s ratio of refundable to non-refundable is unique, and it took a bit of math to get the whole system working correctly! We also track how much of the raised USDC is no longer reserved due to tokens becoming non-refundable, and only allow the agent to withdraw that amount.
We then wrapped that inside of a token sale contract which launches a new Uniswap pool whenever a new token is created, manages configuring the price and other variables for each token sale, and diverts a portion of proceeds (and tokens) into the liquidity pool with each sale. On our front-end, we integrated the Arc Bridge to allow users to access their USDC balances on any chain and spend them in our token sale, which makes it dead-simple to participate.

