Here at PHRCK, we increasingly find ourselves in situations where we need to send ADA to a lot of people. And since March 2021, it’s not even just ADA but also Cardano native tokens that we need to distribute.

What started as just some fun giveaway activities to promote our community stake pool, quickly became very burdensome - costly both in time and money.

Say for example, you need to send 5 ADA each to 100 people. Back then, you needed to do this one by one; which means paying the transaction fee of usually 0.17xxxx ADA and waiting for at least a few blocks around 20 seconds apart for each transaction to be finalized.

Let’s say we put the average time for each transaction at 40 seconds. That means it will take 4,000 seconds or about 1 hour and 6 mins to do all this manually. And you’ll end up spending around 17 ADA in transaction fees!

We have the option, of course, to do this bulk sending via the command line. But it’s equally cumbersome and prone to errors. This also severely limits the people who can do it. Not everyone is able and willing to submit transactions via the command line.

This is why we built our Cardano multi-asset bulk sender tool — a web-based graphical user interface for sending ADA and native tokens in bulk.

It lets you send to multiple recipients in a single transaction, saving you a lot of time and a lot of ADA in transaction fees. And we’ve been using it since February 2021.

2021-05-05_phrck-bulk-sender.jpg

How it works

Since we currently don’t have smart contracts yet, and existing wallet apps also haven’t provided an interface for web applications yet, you will have to create a new “keystore wallet”. This is the same kind of wallet account that you have in your wallet apps. The only difference is that your keys are stored in a stand-alone file which you can download.

You then use this keystore file to interact with the tool and submit transactions to the Cardano blockchain.

In the backend, the tool simply wraps the relevant cardano-cli commands and provides an API for the user-facing web page to interact with it.

How to use

  1. If it’s your first time using the tool, you need to create your keystore wallet first. Just click “Create new” below the wallet field.

    Create new keystore wallet

    Read the notice labeled “Important” and then click “Proceed” when you’re ready. This will trigger the download of your new keystore file.

    Proceed to create new keystore wallet

    If prompted, select the location where you want to save this file and take note of it. You will need it later.

    Notes:

    • You only have to download a keystore from here once. You can re-use it for your next transactions.

    • Do not change anything in the contents of this file.

    • Keep this keystore file safe. Once you download it, that’s the only available copy. If you lose it, no one can retrieve it for you. So if you have remaining funds in the account, that will remain inaccessible.

    • Keep your keystore file out of reach by unauthorized persons. This file is the only thing needed to control the funds in the account.

  2. Load your keyfile into the webpage by clicking the keystore field and selecting that keyfile that you have downloaded in the previous step.

    Select keystore file

    The app will read your keyfile and the address of the account will be shown in the Addr field.

    Wallet address

  3. Send the funds for distribution, to this address — both ADA and/or the native tokens, if you intend to distribute tokens also.

    You can easily copy the address by clicking the Addr label and then the “Copy” option.

    Copy wallet address

    After transferring funds to your keystore wallet, refresh the page and re-select the keystore file so the tool will also re-read the wallet and recheck its balance. It should then look something like the following:

    Wallet balances shown

  4. Enter your recipient wallet addresses in the “Recipients” field.

    Enter recipients

    Each recipient address should be on its own line.

    Optional
    If you want to send different amounts to each address, you can specify the amount by appending +<amount> to the address. For example:

    addr1q9sppxl8gy05n4r942vzktujxv44fnjakgju28jhmqe4z2fdvzk9xuylymzn7amt246lsmkjxzawswr62gzgkntsamsqf80n6q+5
    addr1qxgx5hryg6cdwqpv2k5wzvrp9ngpy6sypjm9wcxeuf9dc3ecqkqq02ctyxpklmqzhmnwkaaqxx8a3xacvgq9z0m4j0pslf06je+7.25
    addr1qxgnevccv77vktyndv0am8fqz7d2jkam3hgjrm2hun4h3htqq99fazjtxsk5g3pmcgtpdtkdd3rptarnujvw2enfmp4q89hzdq
    addr1qyc2pj5g4l6yy08p2tap4vf95wygfvrm4p99eryvffsqnvxs3xeuyfqzyf6m0w0w6aeaet8ncnk5gmhfngfpv5qyp0sqymxxep

    For native tokens, you can specify custom amounts like the following example:

    addr1qyc2pj5g4l6yy08p2tap4vf95wygfvrm4p99eryvffsqnvxs3xeuyfqzyf6m0w0w6aeaet8ncnk5gmhfngfpv5qyp0sqymxxep+1.7+6900 RNR+100 SSG
    addr1qxgnevccv77vktyndv0am8fqz7d2jkam3hgjrm2hun4h3htqq99fazjtxsk5g3pmcgtpdtkdd3rptarnujvw2enfmp4q89hzdq+1.444443+69 RNR
    

    Note that as of now, we cannot send only tokens to an address. A minimum amount of ADA always needs to be sent along with them. This minimum amount of ADA varies, depending on the length of the asset name and the size of the UTXO.

  5. Enter the amounts in ADA and native tokens (if you’re also sending native tokens and if they are available in your wallet.

    Enter amounts to send

    The amounts you specify in these fields, will only apply to the wallet addresses in the recipients field that do not have custom amounts appended to them.

  6. Finally, click the “Submit” button and wait for the transaction confirmation which may take up to a minute.

    When the transaction has is already returned, that means your transaction has been included in a block and has at least 1 block confirmation after you have submitted it.

Try the Multi-Asset Bulk Sender

Wanna help support us?

Just delegate to our community stake pool! It’s simple, it’s free, and it even makes you more money!

Simply search for our ticker code PHRCK in the staking center in Daedalus, Yoroi, Atomic, or any other ADA wallet. Then click delegate and submit the transaction. That’s just it!

If you need our pool ID (for some wallet apps):

Hex format:

0cc4e441026e975f1cf048fcd3489c86424014dd34c244e268cb8095

Bech32 format:

pool1pnzwgsgzd6t4788sfr7dxjyusepyq9xaxnpyfcngewqf29t9ayd

You earn about the same staking rewards as any other stake pool, even a little bit more in some epochs! But the great thing there is you help in keeping the Cardano network decentralized by delegating to smaller and independent community stake pools like us.