signalflo

Onchain alpha curated daily by fund managers on pooled positions using self-custodial liquidity.

signalflo

Created At

ETHGlobal Lisbon 2026

Project Description

Signalflo turns a fund manager's alpha into human-verified, self-custodial liquidity. The manager's "Alpha Desk" composes a market call — a BTC market-making band, a MORPHO conviction buy, an AAVE carry — which is narrated and published as a shareable "round" and dropped into the group by a Telegram bot.

A member opens the round's public link, reads/listens to the thesis, verifies once with World ID (one human, one signal), and backs the strategy by shipping self-custodial liquidity into a 1inch Aqua maker position. Funds never leave the member's wallet until a swap matches, and an EIP-7702 mandate lets them dock to exit.

How it's Made

Signalflo is a TypeScript pnpm monorepo: a Next.js 16 / React 19 web app on Supabase (Postgres), a grammy Telegram bot (apps/bot) that drops each round's public link into the group, an agent service (apps/agent) that compiles the maker positions, and a Foundry/Solidity contract (contracts/PositionMandate.sol).

World ID (Worldcoin) gates humanity: the server mints a World ID 4.0 RP signature (/api/rp-signature), the client runs IDKit, and we cloud-verify the proof and dedupe on the nullifier — so each unique human can back a call once, and a fund manager must be World-ID-verified to publish.

Backing a call runs through 1inch Aqua. Our own SwapVM package (packages/swapvm, @1inch/aqua-sdk) compiles a salt-less maker-position program that each member re-salts for their own instance and ships as self-custodial liquidity on Base via viem/wagmi. Funds stay in the member's wallet until a swap matches. The onchain innovation: contracts/PositionMandate.sol is an EIP-7702 delegate, so a member can authorize the fund manager to CLOSE (dock) their position without handing over custody for set and-forget exits.

The other hack is the content bridge: the manager authors alpha in an external provider (storyflo) consumed purely over a public partner API (packages/storyflo-client). It narrates each call in a consistent host voice and returns an MP3 + waveform, which we render in a custom-built branded audio player. So the feed is authored, narrated, and human-gated end-to-end while signalflo never holds the content IP.

background image mobile

Join the mailing list

Get the latest news and updates

signalflo | ETHGlobal