SeedPay
Core Protocol

Protocol Overview

The four phases of the SeedPay payment protocol flow.

The SeedPay payment flow consists of four sequential phases:

Handshake

Peers exchange BEP 10 extended handshakes to advertise SeedPay support and payment terms (wallet, price, chain). Non-SeedPay clients are unaffected.

Payment Channel Setup

The Leecher and Seeder perform an ECDH key exchange to derive an ephemeral Session UUID. The Leecher then opens a unidirectional payment channel by depositing USDC into an on-chain escrow.

Verification

The Seeder independently verifies the payment channel on-chain — checking the deposit amount, session binding, and freshness. Only after verification does the Seeder unchoke the Leecher.

Data Transfer

Standard BitTorrent piece requests proceed. The Leecher sends signed off-chain payment checks as data is downloaded. The Seeder tracks cumulative cost and pauses if payment checks fall behind.

Key Properties

PropertyHow
MicropaymentsAs low as $0.0001/MB via streaming payment checks
Low on-chain costOnly 2 transactions per session (open + close channel)
PrivacyECDH session keys — no peer_id or IP on-chain
Fair exchangeSeeder only serves data when payment checks are sufficient
Forward secrecyEphemeral keys deleted after session

Deep Dive

On this page