All Projects โ†’ austintgriffith โ†’ token-subscription

austintgriffith / token-subscription

Licence: MIT license
๐Ÿ’ฐ๐Ÿ•ฐ๏ธ๐Ÿ“‹[EIP 1337 POC] Recurring subscriptions on the Ethereum blockchain powered by meta transactions.

Programming Languages

javascript
184084 projects - #8 most used programming language
solidity
1140 projects
HTML
75241 projects

Projects that are alternatives of or similar to token-subscription

delegated-execution-subscriptions
๐Ÿ•ฐ๏ธโš™๏ธRecurring delegated execution through an identity proxy with meta transactions
Stars: โœญ 42 (-42.47%)
Mutual labels:  meta, transactions, subscriptions, eip948, eip1337
standard
the EIP and reference implementation which we will submit to the EIP repo.
Stars: โœญ 40 (-45.21%)
Mutual labels:  subscriptions, eip1337
Harbour-MVP
Building a decentralised p2p meta-tx relayer network [MVP] Codename: Harbour ## We solved this problem: https://medium.com/tabookey/1-800-ethereum-gas-stations-network-for-toll-free-transactions-4bbfc03a0a56
Stars: โœญ 31 (-57.53%)
Mutual labels:  meta, transactions
Bouncer Proxy
๐Ÿ‘ฎ๐Ÿป๐Ÿ›ฐ Ethereum identity proxy contract that bounces meta transactions of etherless accounts.
Stars: โœญ 142 (+94.52%)
Mutual labels:  meta, transactions
reference-client
*client* reference implementation of subscriptions on Ethereum
Stars: โœญ 15 (-79.45%)
Mutual labels:  subscriptions, eip1337
angular4-paystack
๐Ÿ’ต An angular2+ module for paystack transactions
Stars: โœญ 51 (-30.14%)
Mutual labels:  transactions
osx-callhistory-decryptor
macOS (incl big sur) call history decryptor/converter to CSV format.
Stars: โœญ 19 (-73.97%)
Mutual labels:  transactions
wp-term-meta-ui
A base UI class for a term metadata user interface
Stars: โœญ 23 (-68.49%)
Mutual labels:  meta
tg-inviter
Generate personal invite links for Telegram channels
Stars: โœญ 26 (-64.38%)
Mutual labels:  subscriptions
metameta
Metameta is meta core and meta-class programming framework.
Stars: โœญ 39 (-46.58%)
Mutual labels:  meta
ermia
ERMIA: Memory-Optimized OLTP engine for Heterogeneous Workloads (SIGMOD 2016)
Stars: โœญ 72 (-1.37%)
Mutual labels:  transactions
laravel-assets
Laravel Assets manager
Stars: โœญ 13 (-82.19%)
Mutual labels:  meta
netlify-stripe-subscriptions
An example of managing subscriptions with the Stripe Customer Portal and Netlify Identity.
Stars: โœญ 96 (+31.51%)
Mutual labels:  subscriptions
audio-tag-analyzer
Extracts metadata music metadata found in audio files
Stars: โœญ 18 (-75.34%)
Mutual labels:  meta
oge
Page metadata as a service
Stars: โœญ 22 (-69.86%)
Mutual labels:  meta
ethberlinzwei-maglev
An Ethereum Tx Station - Batch transactions and save 30% on gas costs. ๐Ÿš„๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿšƒ๐Ÿ’จ
Stars: โœญ 23 (-68.49%)
Mutual labels:  transactions
hypersubs
an upgraded version of Meteor subscribe, which helps optimize data and performance!
Stars: โœญ 13 (-82.19%)
Mutual labels:  subscriptions
unity-sdk
Unity SDK for cross-platform (iOS and Android) in-app purchase and subscription infrastructure, revenue analytics, engagement automation, and integrations
Stars: โœญ 38 (-47.95%)
Mutual labels:  subscriptions
killbill-client-java
Java client library for Kill Bill
Stars: โœญ 30 (-58.9%)
Mutual labels:  subscriptions
Silverstripe-SEO
A SilverStripe module to optimise the Meta, crawling, indexing, and sharing of your website content
Stars: โœญ 41 (-43.84%)
Mutual labels:  meta

๐Ÿ’ฐ๐Ÿ•ฐ๏ธ๐Ÿ“‹ EIP 1337 POC - Token Subscriptions on Ethereum

Subscribers sign a single off-chain meta transaction that is periodically resubmitted to the blockchain to create a trustless set-it-and-forget-it subscription model on Ethereum.

https://sub.metatx.io

Demo

screencast.png

Abstract

A publisher provides an ongoing service to multiple subscribers and wishes to receive compensation on a periodic interval. The publisher can deploy a lightweight subscription contract to represent their service. Then, the publisher sends subscribers a link to terms which they sign as a single, off-chain meta transaction. This meta transaction is sent to the publisher and/or a third party network that is incentivized with a gasToken.

Immediately, and repeatedly after the agreed upon the period, the single meta transaction becomes valid using a timestamp or block number nonce (instead of a traditional replay attack nonce). The single, signed meta transaction can be submitted, proven valid through ecrecover(), and the transferFrom() of the pre-approved erc20 token from subscriber to publisher is executed.

The subscriber is in full control of the flow of tokens using the approve() function built into the ERC20 standard. They must pre-approve the subscription contract that represents the service before any transfer can happen and they can revoke the allowance at any time to pause or cancel the subscription without touching the original meta transaction. Further, the terms of the subscription are explicitly signed in the meta transaction and can't be manipulated.

The subscription contract also holds logic representing the subscription status for a given account so other smart contracts can verify on-chain that a subscriber is actively paying the publisher.

Since this model works with any token that follows the approve() and transferFrom() standard, a stable token might serve as the best option for long running, monthly subscriptions. This shields both publisher and subscriber from price fluctuations.

Meta transactions can be submitted by any relayer and the relayer can be incentivized with a gasToken. This token can be paid by the publisher, the subscriber, or the subscription contract. The subscription contract can also reimburse the relayers directly with Ethereum. If funds are to be paid from the subscription contract, the subscriptionHash must be signed by the publisher.

 โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ–ˆโ•‘โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•—โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•—โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘
โ•šโ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•    โ–ˆโ–ˆโ•”โ•
 โ–ˆโ–ˆโ•‘ โ•šโ•โ•โ•โ–ˆโ–ˆโ•— โ•šโ•โ•โ•โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•”โ• 
 โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•   โ–ˆโ–ˆโ•‘  
 โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•โ•โ•โ•โ•    โ•šโ•โ•  -EIP-

ethereum/EIPs#1337

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].