Subscriptions on Ethereum that renew only with cryptographic user consent.
onchain-subscription is a consent first subscription protocol on Ethereum. Instead of automatic recurring payments, funds are held in a smart contract and released only when the subscriber explicitly signs approval for each billing period. If the user does not approve, payment simply does not occur no cancellation flows, dark patterns, or forgotten renewals. This flips the default of subscriptions from inertia to intent. The protocol demonstrates how Ethereum can enforce user sovereignty in recurring payments using cryptographic signatures rather than trust in centralized platforms.
The project is built using Solidity smart contracts deployed on an Ethereum testnet. Subscriptions are implemented as escrowed balances with fixed payment intervals. Each payment requires an off-chain EIP-712 typed signature from the subscriber, which is verified on-chain before funds are released. This ensures explicit, replay safe consent for every renewal. The frontend is built with React and ethers.js, allowing users to create subscriptions and sign approvals directly from their wallet. No real funds are used; all testing is done using faucet ETH to simulate real subscription flows.

