Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP 1337 -- Subscriptions on the blockchain. #1337

Open
wants to merge 10 commits into
base: master
from

Conversation

Projects
None yet
7 participants
@owocki
Copy link

commented Aug 18, 2018

What

This is a PR that contains the Pending standard for recurring payments on the blockchain (subscriptions) coming from the ERC 948 Working Group

Why

Monthly subscriptions are a key monetization channel for legacy web, and arguably they are the most healthy monetization channel for businesses on the legacy web (especially when compared to ad/surveillance) based models. They are arguably more healthy than a token based economic system (depending upon the vesting model of the ICO) because

For a user:

  • you don't have to read a complex whitepaper to use a dapps utility (as opposed to utility tokens)
  • you don't have to understand the founder's vesting schedules
  • you can cancel anytime

For a dapp founder:

  • since you know your subscriber numbers, churn numbers, conversion rate, you get consistent cash flow
  • you get to focus on making your customers happy (as opposed to having two actors: speculators & users)

For these reasons, we think it's worth creating a standard way to do 'subscriptions' on Ethereum.

Abstract

A standardized interface for recurring subscriptions on the blockchain.

How / Logistics

This PR is not ready to be merged yet. It will be updated as the working group comes to consensus on the EIP standard.

Further Reading

@ghost
Copy link

left a comment

Please check your EIP for right format 😂

@owocki owocki changed the title ERC 948, EIP 1337 -- Subscriptions on the blockchain. WIP - ERC 948, EIP 1337 -- Subscriptions on the blockchain. Aug 23, 2018

@owocki

This comment has been minimized.

Copy link
Author

commented Aug 23, 2018

thanks; we're iterating towards that. PR is still WIP

@Arachnid

This comment has been minimized.

Copy link
Collaborator

commented Aug 28, 2018

Please open a new PR when it's ready for review.

@Arachnid Arachnid closed this Aug 28, 2018

@owocki owocki changed the title WIP - ERC 948, EIP 1337 -- Subscriptions on the blockchain. ERC 948, EIP 1337 -- Subscriptions on the blockchain. Aug 30, 2018

@owocki

This comment has been minimized.

Copy link
Author

commented Aug 30, 2018

Hey @Arachnid , we just updated the repo to no longer be WIP at EthereumOpenSubscriptions@978b0b5 . would you please re-open this PR? the working group is set on marketing this EIP as 1337, so we would strongly prefer to use this PR if it's all the same to you.

Thanks, 🙏
Kevin

nathantr and others added some commits Aug 30, 2018

Merge pull request #1 from nathantr/patch-1
update of contributors - added nathan

@Arachnid Arachnid reopened this Sep 13, 2018

@austintgriffith

This comment has been minimized.

Copy link

commented Sep 14, 2018

My first POC for 1337 is an ultra simple model. Essentially we use a replayable nonce to allow meta transactions to recur. Subscribers sign a single transaction then, they use the ERC20 allow() standard to control the flow of the subscription; they can pause or start at any time. https://github.com/austintgriffith/token-subscription

@austintgriffith

This comment has been minimized.

Copy link

commented Sep 15, 2018

The next POC for 1337 was a more advanced system. We wanted a BYOC (bring your own contract) model where subscribers would deploy an identity proxy to transact through: https://github.com/austintgriffith/delegated-execution-subscriptions

@austintgriffith

This comment has been minimized.

Copy link

commented Sep 18, 2018

Our contract is now starting to really solidify and we are getting more eyes on it. We have it moving tokens on the mainnet using both https://tokensubscription.com and https://ethgrants.com. The repo with the latest contract and both of the above projects is here: https://github.com/austintgriffith/tokensubscription.com

@austintgriffith

This comment has been minimized.

Copy link

commented Sep 18, 2018

FWIW here is an active contract with the code published and verified: https://etherscan.io/address/0x9122213da10c92586c2c99e533cd97726ef55d6a#code

@austintgriffith

This comment has been minimized.

Copy link

commented Sep 26, 2018

The token subscription contract is now audited and live on the mainnet: https://twitter.com/austingriffith/status/1044929790384336896 The audit information is here: https://zklabs.io/audits/tokensub.html It was performed by Dean Eigenmann. The live contract is public and verified here: https://etherscan.io/address/0x9123a4b90E3a1F468102C08ee78fa2224d88F496#code

---
eip: 1337
title: [WIP] Subscriptions on the blockchain.
author:

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

Please format this in a single line, comma-separated, with either username or email address (not both)

* John Griffin <john@atchai.com> (@johngriffin)
* Nathan Creswell <nathantr@gmail.com> (@nathcres)

discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

Please format this as just a URL.


discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel
type: Interface
category Interface

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

Please add a colon here.

* Nathan Creswell <nathantr@gmail.com> (@nathcres)

discussions-to:[this github issue url](https://github.com/EthereumOpenSubscriptions/standard/issues) or [Gitcoin Slack](https://gitcoin.co/slack) in #proj-subscriptions channel
type: Interface

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

"Interface" is not a type; perhaps this should be "Standards Track"?

type: Interface
category Interface
created: 2018-08-01
requires (*optional): ERC-20, ERC-948, EIP-165

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

Please remove (*optional)

category Interface
created: 2018-08-01
requires (*optional): ERC-20, ERC-948, EIP-165
replaces (*optional):

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 15, 2018

Collaborator

Please remove this.

@owocki

This comment has been minimized.

Copy link
Author

commented Oct 15, 2018

466af1e should turnaround the code review above

Andrew Redden
EIP getSubscriptionHash and execSubscription have been modified and h…
…ad a bytes meta argument added

meta is defined as a 4 slot array, holding, address refundAddress, uint256 period, uint256 offChainID, uint256 expirationDate(unix timestamp)
slots 0 and 1 are required, with slots 2 and 3 being optional, if 2 is not used but 3 is, 2 must be padded appropriately
@Arachnid
Copy link
Collaborator

left a comment

I've noted several errors; in general see the output of the automated build to see what needs fixing.

eip: 1337
title: [WIP] Subscriptions on the blockchain.
author: Kevin Owocki <kevin@gitcoin.co> , Andrew Redden <andrew@blockcrushr.com>, Scott Burke <scott@blockcrushr.com> , Kevin Seagraves <k.s.seagraves@gmail.com> , Luka Kacil <luka.kacil@gmail.com>, Štefan Šimec <stefan.simec@gmail.com>, Piotr Kosiński (@kosecki123), ankit raj <tradeninja7@gmail.com>, John Griffin <john@atchai.com> , Nathan Creswell <nathantr@gmail.com>

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 17, 2018

Collaborator

Please remove the empty line here.

type: Standards
category: Interface
created: 2018-08-01
requires: ERC-20, ERC-948, EIP-165

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 17, 2018

Collaborator

These should just be numbers.

author: Kevin Owocki <kevin@gitcoin.co> , Andrew Redden <andrew@blockcrushr.com>, Scott Burke <scott@blockcrushr.com> , Kevin Seagraves <k.s.seagraves@gmail.com> , Luka Kacil <luka.kacil@gmail.com>, Štefan Šimec <stefan.simec@gmail.com>, Piotr Kosiński (@kosecki123), ankit raj <tradeninja7@gmail.com>, John Griffin <john@atchai.com> , Nathan Creswell <nathantr@gmail.com>

discussions-to: https://github.com/EthereumOpenSubscriptions/standard/issues or https://gitcoin.co/slack in #proj-subscriptions channel
type: Standards

This comment has been minimized.

Copy link
@Arachnid

Arachnid Oct 17, 2018

Collaborator

This should be "Standards Track"

@@ -0,0 +1,251 @@
---
eip: 1337
title: [WIP] Subscriptions on the blockchain.

This comment has been minimized.

Copy link
@axic

axic Oct 17, 2018

Member

Instead of [WIP] the field Status: Draft should be added.

Suggested change
title: [WIP] Subscriptions on the blockchain.
title: Subscriptions on the blockchain.
status: Draft

austintgriffith and others added some commits Oct 17, 2018

Merge pull request #2 from EthereumOpenSubscriptions/eip-1337-updated
EIP getSubscriptionHash and execSubscription have been modified and h…
Austin
@lrgeoemtry

This comment has been minimized.

Copy link

commented Feb 3, 2019

watching this with @clemlak and @daxdax89

@owocki owocki referenced this pull request Feb 26, 2019

Closed

WIP -- Adds EIP 1337 Style Subscriptions #1649

0 of 4 tasks complete

@axic axic referenced this pull request Mar 1, 2019

Closed

Eip 1337 updated #1782

@axic axic changed the title ERC 948, EIP 1337 -- Subscriptions on the blockchain. EIP 1337 -- Subscriptions on the blockchain. May 19, 2019

@axic axic added the ERC label May 19, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.