Bitcoin ordinals guide: create, send & sell

Mint Your CryptoBum Now for a 40% Fee Share on Marketplace Transactions!

XEN Crypto is on 10 chains already, and now it’s also going to Bitcoin. The recent taproot upgrade and Ordinals made it possible for XEN to exist on the most decentralized and uncensorable blockchain. Getting XEN there is going to need a different approach than the one used on the EVM chains. We are not going to launch a smart contract; we will merely use ordinals and inscriptions. Getting to know Bitcoin’s UTXOs management, new wallets, the Ordinals theory, and PSBTs will be important from now on. As we head towards the Xentoshi contract deployment and a 1:1 peg of the upcoming XN coin with satoshis, the ties with Bitcoin become stronger.

What are ordinals?

Ordinals is a numbering scheme for satoshis – the smallest denomination of bitcoin. It was conceived by Casey Rodarmor. Ordinals are called this way because they receive ordinal numbers, which are nothing more than serial numbers for satoshis. They’re permanently assigned in the order in which they are mined, making it possible to track satoshis (sats) together with the inscriptions (NFTs) created on them. We already wrote about ordinals and how Bitcoin and XEN merge through ordinals and inscriptions, and here we’ll concentrate on the practical side.

How to create an ordinal

To create an ordinal, it’s good to know the mechanics of what we want to do. We need to interact with Bitcoin, so we need to use BTC as currency and a taproot address. 

Bitcoin has different kinds of addresses:

– Segwit or Bech32 address starts with bc1 (42 characters long)

– Legacy Bitcoin addresses, or pay-to-public-key-hash (P2PKH) addresses, start with the number 1 (34 characters long)

– Compatibility addresses, also known as pay-to-script-hash (P2SH) addresses, start with the number 3 (34 characters long)

– Taproot or pay-to-taproot (P2TR) or BC1P starts with bc1p (62 characters long)

 

A taproot address brings more privacy and cheaper transactions to the users. The taproot softfork introduced a new scripting language that allowed for more complex and secure smart contracts to be created on Bitcoin. A taproot address is not automatically supported by wallets that support only the original SegWit addresses, but the adoption is almost complete. One of the best Bitcoin wallets to learn about UTXOs is the Sparrow wallet. Here’s a list of all other wallets that implemented taproot.

How to use Sparrow wallet

Download the Sparrow wallet from their website. 

Follow the installation instructions and wallet setup. 

Next, go to File -> New Wallet, then write the name of your wallet and confirm Create Wallet. Now you need to change the Script Type to Taproot (P2TR) and select the New or Imported Software Wallet option.

sparrow 1
Sparrow wallet Taproot address setup

When a new window pops out, go to Mnemonic Words (BIP39) and choose Use 12 words. Pressing Generate will give you a list of 12 words, which you will need to write down and store in a secure and safe place. This is your seed phrase, which guarantees you access to your bitcoin. If you lose it, you will lose your coins. Never share or show this seed phrase to anyone else. Confirm Backup. Enter again the seed phrase that you wrote down, and then click Create Keystore.

sparrow wallet
Sparrow wallet seed phrase
sparrow wallet
Sparrow wallet keystore

Click Import Keystore. On the next window, click Apply and create a password for your wallet if you wish to have it. 

Now you have just finished setting up your bitcoin wallet, which generated taproot addresses for you.

If you want to receive an ordinal or inscription, you just need to click on the Receive tab and copy a new taproot address. It’s always a good practice to add a label to an address so you can remember what it was used for.

Use a fresh address each time you want to receive something instead of using an old one.

Taproot address generation

You can have an infinite number of new addresses. By selecting the Get Next Address option, a fresh address can be created. In the Addresses tab of the app, you can view a list of all of your addresses and the labels you added to them.

Once you have your wallet ready, you’re good to send some bitcoin to your wallet. 

Now, if you want to create an ordinal, you would need to run a Bitcoin node. Alternatively, you can use a service like Ordinalsbot.

ordinals bot
Ordinalsbot

You will see that you can inscribe files or text. Upload an image you want to inscribe and paste in your bitcoin taproot address you generated in Sparrow. It’s good to compress the image before uploading it so it takes up less space, which means you’ll pay fewer fees. You can use something like tinyjpg.com or other services. Pay the transaction. It includes an inscription fee and a 10% fee per file.

The inscription will then be minted. If you provided a BTC address, your inscription will be automatically sent to you. Save your order ID.

Now if you go to your Sparrow’s Transactions tab or to the UTXOs tab, you will see that a transaction number will appear. By hovering over it with the cursor, you will see that a looking glass appears. Sometimes it may take time for the transaction to be mined, and you can track the progress in mempool.space.

Right-click, copy transaction output, and paste your transaction ID to the mempool search field and look for confirmations. Usually, it takes 6 confirmations. If you click on it, you’ll be taken to the details of that transaction. You need to copy the transaction ID and paste it into the ordinals.com browser. If you press on UTXO outputs, you’ll see your inscription. Clicking on it will take you to more info about that inscription, and clicking on satoshi will give you the rarity score for your sat.

mempool
Bitcoin mempool Source: mempool.space

It’s important that you don’t spend your inscription when sending bitcoin to someone. You can freeze it instead. Inscription is stored in an Unspent Transaction Output (UTXO) and to freeze this output, you need to go to the UTXOs tab, select the UTXO with inscription, right-click on the Output and select Freeze UTXO.

This UTXO (inscription) is now unspendable within the Sparrow Wallet until you unfreeze it. Unfreeze it only if you want to sell your inscription to someone else.

There’s also Ordswap, which provides the same inscription service as Ordinalsbot. You can also easily create a collection.

How to sell an ordinal

Once you’ve minted your inscription and have your ordinal in Sparrow, you can put it up for sale or send it to someone.

DeFi on Bitcoin is very basic right now, and most Ordinals are traded P2P on Discord. It’s not a trustless way, so guard yourself.

How do you send an ordinal to someone?

You need to unfreeze your ordinal by right-clicking on your transaction ID and making it unfreeze. Then you right-click again and press Send Selected.

You’ll see a window where you need to input the address you want to send your ordinal to, the label, and the fee will be calculated automatically for you.

You already have some sats on your balance, so the transaction will likely use these sats and leave you the rest.

The Amount field is what you will be left with. Click Create Transaction, then Finalize Transaction For Signing, and in the end, Sign and Broadcast.

sparrow
Sending ordinal to another address

Rodarmor is working on a decentralized and trustless ordinals marketplace. It’s going to use PSBTs, or partially signed transactions, which will make a real difference in comparison to the OTC ordinals exchange we have today. 

What are PSBTs

PSBTs mean you “sign” a transaction on your end, and this partial signature is already complete; you just need the buyer to sign and complete the transaction on his end.

With PSBT, you never need an escrow for inscriptions, so no middleman is involved.

This is a completely different model from how Ethereum operates. On Ethereum, you need to give a middleman like OpenSea permission to hold the NFT for you to be able to sell it.

On Bitcoin, you simply share the PSBT with the world and wait for the buyer. You can share it publicly for a public sale or privately for a private swap. The swap is completely P2P, and the marketplace is just a front end.

The PSBT even gives you the possibility to run a Dutch auction on your inscriptions. If your listed offer doesn’t get filled at a specified price, you can just decrease the price by a certain percentage each day and publish a new PSBT until it does.

You can generate all the PSBTs in advance and slowly (and automatically) roll them out until they are sold. As soon as it is sold, all other PSBT offers become invalid. No transaction is broadcast until it’s sold (or the auction is cancelled). You can offer PSBTs at many prices at 0 cost, and the jpeg is already inscribed. 

Follow these steps to sell your Ordinal on Openordex

Openordex uses PSBTs.It’s still in development phase however it shows well how to partially sign a transaction.

Go to Openordex.com and paste in your transaction ID.

You then specify the price of your ordinal and the address you want the payment sent to.

Then Copy PSBT and go to your Sparrow.

Go to File -> Open Transaction -> From Text.

You will get a window where you need to paste in your PSBT. Click OK, Finalize Transaction For Signing and then Broadcast it.

Now go back to openordex and paste in your signed PSBT and press List Inscription for Sale.

That’s all.