Simple Ledger Protocol (SLP)

A simple token system for Bitcoin Cash.

Why create Tokens with SLP?

Storing and managing tokens on a blockchain provides greater transparency and integrity than traditional forms of asset accounting and trading. Virtual gaming assets, licenses, digital media rights, gift cards, and company stock shares can all be tokenized. Tokens can also be traded peer-to-peer without any middleman, allowing for a new kind of decentralized digital marketplace.

Simple Ledger Protocol makes this vision a reality by providing the simplest, fastest, and most liberating token system in existence. SLP tokens can easily be created, traded, and managed on the Bitcoin Cash blockchain within seconds; costing the user only fractions of a penny for each transaction.

SLP has everything you need to easily issue, spend or trade your own token.

SPV Friendly

The first and currently only BCH token system to support light wallets.

On Chain

All transactions are 100% on the blockchain for full auditability by any party.

Simple

Many systems are complicated. SLP is easy to understand, giving users confidence.

Robust

A limited set of consensus rules makes the system reliable. A unique address format helps prevent loss of tokens.
Q

No Native Token

Some token protocols have their own coin which you must first acquire in order to use other tokens. SLP runs directly on top of BCH.
l

Scriptable

You can use multi signature addresses and other Bitcoin script features with SLP tokens.

1

Flexible Issuance

Choose from a fixed supply, 1-time issuance token, or multiple issuance tokens with a variety of options.

Permissionless

SLP tokens can be exchanged peer to peer with no trusted third party.
P

Extensible

The protocol can be extended to support different types of tokens including those with issuer controlled whitelists for regulated securities.

Free & Open Source

SLP is open source. There are several free and open source SLP wallet implementations including Electron Cash and Badger.

FAQ’S

You have questions?
We have answers.

What makes SLP special among the many emerging token protocols?

We became motivated to create SLP because we believed most previous token proposals were overcomplicated. We wanted something simple and easy to use.

How can I start using SLP today?

Try the Electron Cash SLP wallet or the Badger wallet.  Ask your friends to send you tokens, or mint your own.

Is SLP like Ethereum’s ERC-20, but for BCH?

In many ways, yes. Anyone can issue, or “mint” a new token type. Tokens can be traded, spent, or given to someone else. They operate in a distributed manner like most cryptocurrencies. Custom token behavior can be added using bitcoin Script programming language in novel ways.

What about "non fungible tokens" like Cryptokitties?

SLP also offers good support for non fungible tokens (NFT). Like Ethereum’s ERC-721 standard, meta data for each token can be stored off-chain. Each non fungible token in SLP can have a unique, static token identifier which is also the genesis transaction id. All NFT tokens for a project can be issued from the same address for easy classification.

In a nutshell, how does SLP work technically?

You can think of SLP as a ‘transaction within a transaction’. SLP transactions live within a special output known as OP_RETURN, which is a part of a standard Bitcoin Cash transaction. If Alice wants to send Bob some tokens, she sends a minimal (dust) amount of BCH, and the transaction also contains the data to transfer the tokens. You may be interested in reading the protocol specification, which is comprehendable to the average Bitcoin-minded reader.

Can anyone create their own token?

Yes, simply download the Electron Cash wallet to create new tokens.

Why should I choose SLP for my project?

You should carefully review all of the available protocols on Bitcoin Cash for tokens. Some may be more suited to your purpose than others. We have listed many of the benefits of SLP above.

What are the issuance options for token creators?

Token creators can generate a token with a 1-time issuance, thus guaranteeing a fixed supply, or alternatively, a token that has multiple issuance rounds. These rounds can continue indefinitely until the issuer decides to switch it off permanently, marking the end-of-minting capabilities for that token.

Token issuance authority can also be delegated to someone else after the token has already been created.

How do token names and hash IDs work?

The initial genesis minting of a token is also a Bitcoin Cash transaction. The BCH transaction Id is then one and the same with the hash Id of the token.

Token issuers can also specify a name for their token within the data. However, there are no reserved names. Names can be duplicated, sometimes maliciously. (This is also true of ERC-20). Therefore, users should always check the hash Id against a trusted source.

How does SLP handle decimal precision?

The Bitcoin protocol deals directly with smallest granular units, which are called satoshis, but amounts in wallets are often expressed in decimal format (i.e. 3.0723432 BCH). A similar system is used in SLP; the protocol itself deals with integer units, but some tokens are better displayed with decimals. The genesis mint of a transaction can set a decimal preference if desired.

How can I avoid accidentally losing or burning tokens?

The most important thing you need to know is that you should not use a non-SLP wallet on a wallet file that has tokens on it. If you do this, the non-SLP wallet may end up spending the coin (the UTXO) that contains the tokens.

For example, once you have tokens on a wallet file, only open that file with the Electron Cash SLP wallet, not the normal Electron Cash wallet. This applies not just to wallet files per se, but also wallets that you restore from seed, as they will contain a particular set of addresses and coins.

Does SLP have its own address format?

Yes. “SLP Addr” is a new encoding for addresses, similar to CashAddr. Theoretically, tokens could be sent and received from any address format, but we strongly encourage wallet implementations to use SLP Addr format. This helps prevent user mistakes when transacting in either Bitcoin Cash or tokens.

Is SLP robust and well-tested?

The SLP protocol is simple, which makes it robust.  The protocol simplicity makes it easy for new wallet software builders to pass the protocol unit tests and achieve perfect SLP compliance.

What are the risks of using SLP?

SLP is a simple platform to keep track of anything quantifiable, sort of like a public and immutable spreadsheet on a blockchain.  What could possibly be the risk of that?  Using the SLP wallet software recommended on this site will prevent any accidental loss of your tokens.

Resources and support for SLP

Electron Cash

Download Electron Cash SLP Edition

Badger Wallet

Browser Extension for Bitcoin Cash and SLP Tokens

SLP Explorers

Explore SLP Tokens & Transactions

h

Protocol Spec

Read the SLP specification on Github

t

How To

Create Your Own SLP Token

w

Support

Follow our discussion forum on Telegram