Your music streams pay platforms. Onda pays artists. 1 cent per play, direct to artists.

Onda is a Chrome extension that detects what music you're listening to and sends micropayments directly to artists — no platform, no label, no middleman. Spotify pays artists $0.003 per stream. Onda lets you give them $0.01 directly. The extension runs quietly in the background while you listen on Spotify, SoundCloud, Bandcamp, or any browser-based player. It identifies the artist via MusicBrainz (an open music database), resolves their wallet through ENS, and sends a USDC micropayment on Arc. One listen, one gift, automatic. Artists don't need to be in crypto to receive support. When a listener plays a track by an unclaimed artist, the gift is held in an on-chain escrow contract mapped to the artist's MusicBrainz ID. When the artist is ready, they verify their identity with World ID, connect a wallet, and claim everything that's been waiting for them. Twelve people might be supporting an artist before that artist even knows Onda exists. The extension is intentionally simple. It holds a session for a smart wallet and talks directly to Arc — no central server in the payment flow. Listeners deposit a monthly budget in USDC, and Onda draws from it with each play. A payment confirmation ripples through the popup like a wave: artist name, amount sent, total given, and how many other supporters this artist has
We built Onda because the streaming economy is broken and everyone knows it. But the fix doesn't require rebuilding the platform. It just requires a way to route money around the middlemen. Onda sits on top of the listening experience you already have and adds the part that's missing — the part where artists actually get something. Buena onda. Good vibes. Good waves.
Smart Contract Architecture (Solidity on Arc)
The core is a single escrow contract that handles three concerns: gas-sponsored tipping via session keys, artist identity via MusicBrainz IDs, and an on-chain ENS subname registry. When a listener tips, they sign a message with their session key, the relayer submits it on-chain and pays gas. Tips route based on artist state: verified artists receive funds directly; unclaimed artists have funds held in escrow until they verify ownership.
Artist Identity & Verification
We hash MusicBrainz artist IDs (UUIDs) to bytes32 as the canonical on-chain identifier. This lets us link tips to real-world artists before they ever touch crypto. For verification, we built a SoundCloud bio-token flow: artists paste a random token in their bio, we scrape it server-side, and the relayer calls verifyAndRelease() to unlock their funds and mark them verified.
Frontend & Extension
Next.js 14 with wagmi/viem for wallet interactions. The browser extension detects tracks on Spotify/SoundCloud/YouTube, queries our lookup API (MusicBrainz search), and triggers signed tips. We store gifts in a JSON file for the MVP—quick and dirty, but it let us ship fast.
The Hacky Bits
Session keys: listeners sign tips without approving each transaction. The contract validates signatures and increments nonces. Relayer pattern: we pay all gas, so users never need native tokens. Arc’s low fees make this sustainable. ENS-on-contract: instead of deploying a full ENS resolver, we baked subname resolution (artist.onda.eth) directly into the escrow contract. One contract, one deployment, less complexity. Stack: Next.js, TypeScript, Tailwind, wagmi, viem, Arc Testnet, MusicBrainz API, RainbowKit

