Connect as an Exchange

Exchanges must connect to the Tonomy network to allow users to withdraw coins. This guide provides the steps to set up an account that can act as a TONO token custodian for exchange coins and allow the exchange to withdraw vested or unvested coins to external Tonomy accounts.

You can connect using the official Antelope CLI tool called "cleos", or the Tonomy Javascript SDK with command line using nodejs or by integrating the Javascript library into your tools.

Install tools

Install the official Antelope node CLI "cleos" binary on Ubuntu 22.04. Please use a different release asset for other operating systems. Check the documentation for more details.

wget https://github.com/AntelopeIO/leap/releases/download/v4.0.6/leap_4.0.6-ubuntu22.04_amd64.deb
sudo apt install ./leap_4.0.6-ubuntu22.04_amd64.deb
rm ./leap_4.0.6-ubuntu22.04_amd64.deb

# create an alias that connects to the correct API
alias cleostonomy="cleos -u https://blockchain-api.tonomy.io"

# check working
cleostonomy get info

Step 1: Create keys

Create 2x keys to manage your account on Tonomy Blockchain. One key is treated as high security and used for recovery called the "owner" key, while the other is used for day-to-day operation and can be replaced by the recovery key (if compromised) called the "active" key.

cleostonomy create key --to-console

Store both keys in secure storage.

Step 2: Create an account

Send the following information to the Tonomy Foundation through a secure pre-established channel:

  • Choose your account name which is a 12-character [a-z1-5.] word e.g. binancelists

  • Choose your username which is an English character lower case word with 2+ characters e.g. @binanceexchange

  • The name, domain name (website) and logo to use for your exchange

  • The public key of your "owner" key. Don't send your private key.

  • The public key of your "active" key. Don't send your private key.

Step 3: Get some TONO for allocation to investors

As per your TONO token issuance contract with the Tonomy Foundation, ensure that after your account is created it is allocated the correct amount of TONO. You can look at your account and its tokens on the Tonomy block explorer:

https://explorer.tonomy.io

Step 4: Collect user's Tonomyaccount

If your users want to create a Tonomy account they can do this by downloading and creating a new account on the Tonomy ID: https://tonomy.io/tonomy-id

They can then send you their account name to which you can withdraw TONO.

If you want to verify if the account exists you can do so:

cleostonomy get account pegcnjcnnaqd

Step 5: Withdraw TONO or allocate vested TONO

You can also batch multiple actions together. This can be done by adding multiple actions in one transaction. Check the Cleos or Javascript documentation for more information.

Allocate vested TONO

Vested TONO should be allocated during the private sale (seed) rounds.

cleostonomy wallet create --to-console
# import your active key:
cleostonomy wallet import

SENDER=binancelists
RECIPIENT=pegcnjcnnaqd
AMOUNT="10.000000 TONO"
# use category 8 for seed round 1 "early bird, and category 9 for seed round 2 "last chance"
CATEGORY=8

cleostonomy push action vesting.tmy assigntokens "{\"sender\":\"${SENDER}\",\"holder\":\"${RECIPIENT}\",\"amount\":\"${AMOUNT}\",\"category\":${CATEGORY}" -p "${SENDER}@active"

Withdraw (unvested) TONO

TONO withdrawals can be used during the public sale or after to send users unvested TONO.

cleostonomy wallet create --to-console
# import your active key:
cleostonomy wallet import

SENDER=eosusa
RECIPIENT=pegcnjcnnaqd
AMOUNT="10.000000 TONO"
MEMO="my transfer memo"

cleostonomy transfer "${SENDER}" "${RECIPIENT}" "${AMOUNT}" "${MEMO}" -p "${SENDER}@active"

Troubleshooting

Antelope documentation: https://docs.eosnetwork.com/docs/latest/quick-start/introduction

Antelope telegram group: https://t.me/antelopedevs

Tonomy telegram group: https://t.me/tonomyIO

Last updated