BRC-20 Update proposal

Summary

Introducing BitCheck BRC-20 update proposal, an innovative addition to the Bitcoin blockchain that extends the BRC-20 token standard. The update is specifically designed to handle subscription-based transactions, allowing BRC-20 token holders to set up recurring payments in any brc-20 token to a specific address. This proposal includes functionalities for creating and cancelling subscriptions.

The new standard enables users to automate regular transactions by defining parameters such as the token amount, the frequency of transactions (e.g., monthly), and the recipient address.

Motivation

The primary motivation behind this proposal is to simplify and automate subscription-based payments, particularly for websites offering services on a subscription basis. At present, making subscription payments with tokens can be a cumbersome and error-prone process, as users have to manually execute every transaction every. By enabling automated, recurring transactions, the proposal opens up new possibilities for applications in the BRC-20 token ecosystem, broadening the scope of services that websites can offer their customers.

Specifications

User scenarios

For users:

  • Setting up a subscription to a specific address.

  • Cancelling a subscription when they no longer wish to make regular payments.

For project teams:

  • Receiving automated, regular payments from customers, providing a more predictable income stream.

Interaction flow

interaction-flow

  1. User: Inscribes an Instructions.

  2. User: Sends the inscription to the subscription receiver.

Cases

When a user's balance of BRC-20 tokens is insufficient:

The subscription temporarily halts until there are enough tokens in the user's account. Upon depositing more tokens, if the balance is sufficient to cover the full subscription cost, the payment is processed immediately. However, if the newly deposited amount is still inadequate, the tokens remain in the user's balance, and the subscription remains paused.

When a user initiates a subscription without sufficient BRC-20 tokens:

The subscription is established but immediately placed on hold due to the insufficient balance.

Instructions

Create Subscription

This operation initiates a new subscription. The user sets the token ticker (ex. $BIT), the amount to be transacted, the interval for transactions (MONTH), and the recipient's address. Once initiated, the specified amount of tokens will automatically be sent to the recipient at each interval.

{
  "p":"brc-20",
  "op":"sub",
  "tick":"$BIT",
  "amt":"10",
  "interval":"MONTH",
}
KeyRequiredDescription

p

Yes

Protocol: Identifies the brc-20 events

op

Yes

Operation: Type of event (deploy, mint, transfer, sub, unsub,updsub)

tick

Yes

Ticker: The type of token for the subscription

amt

Yes

Amount: The amount of tokens to transact each interval

interval

Yes

Interval: The frequency of transactions (DAY,WEEK,MONTH,YEAR)

Update Subscription

This operation allows the user to modify the terms of an existing subscription. By entering the updated information (such as a new amount or interval), the user can change the recurring payment details without having to cancel and create a new subscription. If the interval is updated, the new frequency will take effect from the next scheduled payment cycle after the update. In the event of multiple updates within a single payment cycle (for instance, switching from a monthly to a daily interval and then to a weekly interval before the end of the initial month), the most recent update will take precedence and overwrite any previous changes. This ensures that the system always adheres to the latest user-specified interval.

{
  "p":"brc-20",
  "op":"updsub",
  "id":"779b53221183cdee5168671b696cf99f60b6be0ce596777ec5f066bf9be44fbfi0"
  "tick":"$BIT",
  "amt":"10",
  "interval":"MONTH",
}
KeyRequiredDescription

p

Yes

Protocol: Identifies the brc-20 events

op

Yes

Operation: Type of event (deploy, mint, transfer, sub, unsub,updsub)

id

Yes

Id: Refference to the create subscription inscription.

tick

Yes

Ticker: The type of token for the subscription

amt

No

Amount: The amount of tokens to transact each interval

interval

No

Interval: The frequency of transactions (DAY,WEEK,MONTH,YEAR)

Cancel subscription

This operation terminates an existing subscription. The user specifies the subscription to cancel by referencing the subscription inscrition id. After this operation, no further transactions will be made under the cancelled subscription.

{
  "p":"brc-20",
  "op":"unsub",
  "id":"779b53221183cdee5168671b696cf99f60b6be0ce596777ec5f066bf9be44fbfi0"
}
KeyRequiredDescription

p

Yes

Protocol: Identifies the brc-20 events

op

Yes

Operation: Type of event (deploy, mint, transfer, sub, unsub,updsub)

id

Yes

Id: Refference to the create subscription inscription.

References & Info

This proposal is build upon BRC-20 Token Standard and is licensed under the BSD 2-clause license.

Contact Us

Twitter Discord

Last updated