Create your own coin in Algorand
Intro
I was checking Algorand recently, found it is very exciting: Fast transaction speed (< 5s), super cheap transaction fee ($0.001 ~ 0.002), staking has 6% APY, support smart contract and most importantly, it has a healty dev community, provides SDK for many popular languages, like Java, Go, Javascript, Python (heard Rust is also under development), it even has a flutter package.
Algorand provides method to create your own coin, called ASA, like ERC-20 coin in Etherum. I am trying to create one coin with Python and document the steps below.
Steps
1, Create Account
create an account in PureStake to use its API. We can host our local server though, the easiest method is using some web API (those website will host the testnet for you), all we need to do is using some SDK to run the code. Once you create an account in PureStake’s developer portal, you will get the API key, save it somewhere, we will need that in the following steps.
2, Install python SDK:
1 | $ pip install py-algorand-sdk |
3, Now write our Python code.
The basic flow is:
- Create an account
- Dispense some tokens to this account with TestNet Dispenser
- Use this account to create a “CreateAssetTransaction”
- Use this account to sign this transaction
- Send this transaction to TestNet/MainNet.
Let’s do it one by one, first create account. Here we write a Python script to create account:
1 | #!/usr/bin/env python |
Run it to generate the account:
1 | $ python create_account.py |
4, Put $ALGO in the address
Go to TestNet dispenser to put some tokens into that public address, this will put 100 $ALGO to it.

5, For the rest steps we create another python script to do it:
1 | #!/usr/bin/env python |
Now let’s run it to create coin:
1 | $ python create_coin.py |
Ok, we got the returned Transaction ID, now use that ID to search the asset info in the TestNet Explorer. Put the transaction ID in the input box, we will see our asset info:
