# Stamp Protocol - Bitcoin Stamps

The Stamp Protocol, also known as Bitcoin Stamps, is a protocol for peer-to-peer transactions that embeds a valid string in the description field as STAMP:base64. STAMPS can be directly decoded from the raw Bitcoin transactions. To enhance processing speed and eliminate the need for indexing, the Counterparty API is used to decode raw Bitcoin transactions. Once decoded, the images are uploaded to stampchain.io for convenient use through a web application. The primary aim is to allow anyone to decode these transactions and interpret the underlying image data for rendering in any application.

Bitcoin Stamps adhere to the following rules:

* Bitcoin Stamps must be digital assets, for example: \[A1997663462583877600].
* Bitcoin Stamps can be created from previously existing digital assets that were not STAMPS. This is achieved by updating the asset to include the string in the new transaction as stamp:base64.
* Bitcoin Stamps cannot be duplicated on the same asset. For instance, if an asset is a STAMP, changing only the description field to a new base64 string will not create a new STAMP. However, a new STAMP: transaction will be created on the blockchain. These new transactions will not be indexed by the official STAMPS project, maintaining a one-to-one relationship with the first created STAMP.
* Image data must be in jpg, png, gif, or webP format and encoded in base64.

This protocol facilitates the embedding of images in Bitcoin transactions, providing a mechanism for associating visual data with blockchain transactions.

{% hint style="info" %}
[**https://github.com/mikeinspace/stamps/blob/main/BitcoinStamps.md**](https://github.com/mikeinspace/stamps/blob/main/BitcoinStamps.md)
{% endhint %}
