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

Runes 2.0 proposal #4255

Closed
wants to merge 1 commit into from
Closed

Runes 2.0 proposal #4255

wants to merge 1 commit into from

Conversation

VanjaRo
Copy link

@VanjaRo VanjaRo commented Mar 4, 2025

Runes 2.0 proposal

Currently Runes have a specific Mint mechanism where anyone can mint a certain amount of runes for some specified period.

As Runes has gained huge popularity as the native token standard for BTC, there is a suggestion to improve the existing standard by allowing the specification of Minter Bitcoin address in Etching inscription.

struct Etching {
  divisibility: Option<u8>,
  premine: Option<u128>,
  rune: Option<Rune>,
  spacers: Option<u32>,
  symbol: Option<char>,
  terms: Option<Terms>,
  minter: Option<u32>,
  // ...other minting parameters, discussable...
}

To preserve the original compact structure of Runestone we can use Runestone.Edict for additional mintings. Etching.minter can make Edict { id, Amount: minAmount, Output: outputIndex } and place a transaction output at outputIndex with the output script set to the target address, to which minting should happen. To only allow this minting for Etching.minter we must add a condition to accept a transaction: at least one of the inputs in the transaction must use the previous output that belongs to Etching.minter.

Potential solution to allow Minter address change:

We can set Runestone.Mint and make Edict { id, Amount: 0, Output: outputIndex, } with 0 amount where outputIndex will correspond to output with a script set to the corresponding script of the new Minter address.

Global adjustments

There can be other suggestions on how to efficiently add this targeted minting mechanism by Minter and how to perform minting transaction validation.

Small adjustments can be easily reflected at the official Ord indexer, libraries and wallets that support Runes.

Main use case

The main use case to support such minting is to enable Runes stablecoins where the total supply of coins cannot be known in advance.

@Georgyskr
Copy link

Georgyskr commented Mar 4, 2025

Hey Ords Team!
Georgy speaking here @ midl.xyz

MIDL, as a foundation, deeply values the Runes community and would love to have our project’s token as a Rune. Additionally, we currently support issuing stablecoins as Runes. That is tho, not possible at this point

The ability to mint Runes with authorization is crucial for many use cases that have been successfully established on other networks. Therefore, we’d like to start a discussion with the core Ords devs on possible ways to implement this—without requiring the minting of additional Runes to be tied to an initial batch.

This is just an initial proposal from our team, as a full implementation would require careful and thorough updates to Ord’s indexation. Before making significant changes at the repo level, we wanted to present the concept and align on the development direction.

Looking forward to your thoughts!

@casey
Copy link
Collaborator

casey commented Mar 4, 2025

Thanks for the PR! I believe this is a dupe of this closed issue: #3677

Please respond in that issue, but my TL;DR on my view is: I think that either issuing a bunch up front and holding them in reserve, or making a new rune to represent new issuance, is probably a fine solution and less complicated. Especially if there is an easy, standard way that makes runes held in reserve shown as "in reserve" and not added to the circulation total.

@casey casey closed this Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants