Bitcoin Forum
September 04, 2025, 06:20:46 AM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [ANN] M: A Peer-to-Peer Electronic Cash System on the Ethereum Network  (Read 90 times)
3db577C6 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
September 02, 2024, 05:49:02 PM
 #1

Ethereum is a smart contract platform that has stood the test of time - but ETH is not sound money. ETH was partially pre-mined and future ETH supply is uncertain.

M is intended to be sound money on the Ethereum network.

How does it work?

The M contract runs two auctions. In each period of ~12 days, the contract sells a pre-defined allocation of M tokens for ETH. It also sells the ETH proceeds from the prior period for M. Both auctions can be settled in the next period, and everybody gets the same price in each period:

M claimable = M allocation * ETH paid / total ETH paid
ETH claimable = ETH proceeds from prior period * M paid / total M paid

Have a look at the contract code to grok these auction mechanics. It's only ~100 LOC.

The allocation per period declines over time until it reaches a fixed tail emission after ~5 years.

M allocation per period:
0: 1,550,000
1: 1,540,000
2: 1,530,000
...
152: 30,000
153: 20,000
>=154: 10,000

What's special about M?

M has a predictable maximum supply curve and supports the long-term security of Ethereum by creating liquidity for the staked asset (ETH).

M has no premine and no owner privileges. Period 0 ends in ~8 days. Again, everybody gets the same price in each period.

Contract address: 0x3db577c6335b66048ca0f6708e38351a868e2a08 (make sure you are interacting with the correct contract).

Send ETH to the M contract to bid on M. Call mBuySettle({period}, {your address}) after the period ends to settle your bid on M.

Make sure that the contract address is correct (deployment date was May 1, 2024). MIT license, no liability, not financial advice.
3db577C6 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
September 03, 2024, 12:19:24 PM
 #2

More details on the mechanics!

Bidding is a simple ETH/M transfer and you can use Etherscan's Contract -> Write Contract pane to call the settlement functions: https://etherscan.io/address/0x3db577c6335b66048ca0f6708e38351a868e2a08#writeContract

How to bid on M (auction 1):

The contract sells M for ETH.

1. Send ETH to the contract (0x3db577c6335b66048ca0f6708e38351a868e2a08 - triple check it's correct!)
2. After the period has ended, call:
Code:
mBuySettle(BID_PERIOD, YOUR_ADDRESS)
3. You will receive the M allocation of the BID_PERIOD (see the table in the original post), multiplied by the amount of ETH you sent to the contract in the BID_PERIOD, divided by the amount of ETH everyone sent to the contract in the BID_PERIOD.

How to bid on ETH (auction 2):

The contract sells the ETH proceeds from auction 1 in the next period, for M. This minimizes the net issuance of M, while maintaining perpetual liquidity for ETH. Here's how auction 2 works:

1. Send M to the 0x0 address (0x0000000000000000000000000000000000000000)
2. After the period has ended, call:
Code:
eBuySettle(BID_PERIOD, YOUR_ADDRESS)
3. You will receive the ETH proceeds from the prior period (BID_PERIOD-1), multiplied by the amount of M you sent to 0x00... in the BID_PERIOD, divided by the amount of M everyone sent to 0x00... in the BID_PERIOD.

We're currently in period 0, so auction 2 will only make sense in the next period (the contract currently has no ETH to sell, and nobody has any M to send to 0x0).

Please make sure you send M to the correct zero address. If you send M to other burn addresses like 0xdEad000000000000000000000000000000000000, you will burn your M without creating an ETH claim.

Standard ERC20 features:

M is a ERC20. Transfers and AMMs like Uniswap will work when M is in circulation.

3db577C6 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
September 06, 2024, 06:51:05 PM
 #3

The second epoch starts Tue Sep 10 2024 08:14:56 GMT+0000.

If no other address sends ETH to the contract before the first epoch ends, 0x39573c02cb0973fB17005D6E6FF7E27C483f7a38 can claim the entire first allocation!
3db577C6 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
September 17, 2024, 09:40:10 AM
 #4

We just had our first "M Buy Settle" transaction! The contract is working! 0x39573c02cb0973fB17005D6E6FF7E27C483f7a38 received 1,550,000 M.

Here's the transaction:
https://etherscan.io/tx/0x58e993048825933ce99fd4a47dc5d259fb0ff74c50ae2c73ca1244081c8dc509
3db577C6 (OP)
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
September 27, 2024, 08:43:41 PM
 #5

M was bridged to Arbitrum and airdropped to ETH stakers!

Each unique Ethereum fee recipient address for blocks produced between Dec 2, 2023 11 AM and Sep 27, 2024 11 AM (both UTC) received 100 "Wrapped M".

https://arbiscan.io/token/0x217d3de3e7bd7c926ea6c2692d0dcc9d0e6bfee8
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!