[TEP-142] Introducing TBRC-20: A Dual-Standard Inscription Token on TON

Executive Summary

The TBRC-20 Inscription Token Standard presents a novel approach to token issuance and transactions on the TON Blockchain, combining the transparency and simplicity of plaintext messages with the robust functionality of the Jetton standard. This draft proposes a dual-standard token model that enhances user experience through easily readable and verifiable transactions, fostering a more transparent and secure decentralized token ecosystem.

Introduction

The TON Blockchain’s innovative use of plaintext messages for smart contract interfaces sets the stage for the TBRC-20 standard. This proposal seeks to merge the convenience of plaintext transaction messages with the comprehensive features of the Jetton standard, aiming to create a user-friendly, transparent, and secure token standard that supports both issuance and transactions in a decentralized manner.

Motivation

The advent of the TON Blockchain offers unique opportunities for token standards by leveraging plaintext messages. The TBRC-20 standard aims to exploit these opportunities by providing a dual-standard token that combines the ease of use and transparency of plaintext messages with the functionality of the Jetton interface, thus offering a comprehensive solution for token transactions and interactions.

Proposal Overview

TBRC-20 introduces a method for users to interact with tokens through simple plaintext JSON messages sent to master or wallet contracts of TBRC-20/Jetton tokens. This approach not only simplifies the user experience by making transactions more readable and verifiable but also maintains compatibility with existing smart contract interfaces through its adherence to the Jetton standard.

Technical Specifications

Token Operations

TBRC-20 defines specific operations for minting, transferring, listing for sale, unlisting, and buying tokens using plaintext JSON messages. Each operation is detailed below, specifying the required format and parameters for the messages.

Minting (Inscription)

  • Operation: Mint
  • Message Format: {'p':'tbrc-20','op':'mint','tick':'$TICK','amt':'$AMOUNT'}

Transfer

  • Operation: Transfer
  • Message Format: {'p':'tbrc-20','op':'transfer','tick':'$TICK','amt':'$AMOUNT','to':'$ADDRESS'}

Listing for Sale

  • Operation: List
  • Message Format: {'p':'tbrc-20','op':'list','tick':'$TICK','amt':'$AMOUNT','price':'$PRICE'}

Unlisting

  • Operation: Unlist
  • Message Format: {'p':'tbrc-20','op':'unlist','tick':'$TICK','amt':'$AMOUNT','price':'$PRICE'}

Buying

  • Operation: Buy
  • Message Format: {'p':'tbrc-20','op':'buy','tick':'$TICK','amt':'$AMOUNT','price':'$PRICE'}

Contract Get-Methods

TBRC-20 contracts must implement specific get-methods to facilitate interactions with the tokens, including listing retrieval and balance inquiries.

Advantages and Limitations

TBRC-20 provides significant benefits, such as enhanced transparency, user-friendly transactions, and compatibility with existing contracts. However, it also faces challenges like increased gas costs and the need for initial support in wallets and tooling.

Comparison with Prior Standards

The following table compares TBRC-20 with the existing TEP-74 Jetton standard:

Feature TBRC-20 TEP-74 Jettons Standard
Message Format Plaintext JSON Contract Calls
User Experience Enhanced readability and verification Standard smart contract interactions
Compatibility Dual-standard with Jetton interface Jetton interface only
Transaction Type Mint, Transfer, List for Sale, Unlist, Buy Standard Jetton operations (mint, transfer, etc)

Unresolved Questions

The necessity of maintaining strict field ordering in JSON messages for gas efficiency remains an open question, potentially impacting the flexibility of message formatting.

Future Directions

With the adoption of TBRC-20, future explorations could include developing generic smart contract interfaces that utilize plaintext messages for broader applications within the TON ecosystem.