1. How to check the hot wallet balance (Ethereum / ERC20)?

  • Copy a wallet address which balance you want to check.
  • Go to the Etherscan and past in the search the wallet address.
  • When the wallet info is loaded, check the balance of the wallet.

2. How to export a wallet from Ethereum blockchain node?

To export a wallet with a private key from the Ethereum node you need to know, a public address and a passphrase of a wallet you want to export.

If you want to export a hot wallet you should use a passphrase that was used during the hot wallet setup in Tower admin panel.

If you want to export a deposit wallet, you should know that the Ethereum node automatically generates passphrase for every deposit wallet. To extract passphrase, you must have access to Peatio Rails pod and to be able to run the next command:

PaymentAddress.find_by(address: "wallet address").secret

Above command returns you a decrypted passphrase of a deposit wallet that you can use to export a deposit wallet with a private key.

When you have a wallet address and a private key use the request command in example to export a wallet from the Ethereum node.



curl --data '{"method":"parity_exportAccount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","hunter2"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST localhost:8545


  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "address": "0042e5d2a662eeaca8a7e828c174f98f35d8925b",
    "crypto": {
      "cipher": "aes-128-ctr",
      "cipherparams": {
        "iv": "a1c6ff99070f8032ca1c4e8add006373"
      "ciphertext": "df27e3db64aa18d984b6439443f73660643c2d119a6f0fa2fa9a6456fc802d75",
      "kdf": "pbkdf2",
      "kdfparams": {
        "c": 10240,
        "dklen": 32,
        "prf": "hmac-sha256",
        "salt": "ddc325335cda5567a1719313e73b4842511f3e4a837c9658eeb78e51ebe8c815"
      "mac": "3dc888ae79cbb226ff9c455669f6cf2d79be72120f2298f6cb0d444fddc0aa3d"
    "id": "6a186c80-7797-cff2-bc2e-7c1d6a6cc76e",
    "meta": "{\"passwordHint\":\"parity-export-test\",\"timestamp\":1490017814987}",
    "name": "parity-export-test",
    "version": 3

This command returns you data in the JSON format, you should save it to a file to be able to interact with a exported wallet.

To be able to manage funds of the exported wallet you may import it using Metamask extension, MyEtherWallet, etc.

Below you can find an example with Metamask on how to import wallet:

  • Select a wallet file that you exported from the Ethereum node
  • Enter a wallet passphrase in the "Enter password" field


If everything was done correctly you should be able to send Ethereum or tokens that are on the wallet.


3. Changed minutesUntilAutoLogout but still get logged out after 30 minutes?

Be informed that there is session auto logout on fronted (Baseapp and Tower) under minutesUntilAutoLogout, in env.js and tower.js that will send api endpoint delete session due to inactivity in set amount of minutes and there is a cookie life time SESSION_EXPIRE_TIME in barong.env that will expire cookie after set amount of seconds.

By default SESSION_EXPIRE_TIME is set to 1800 seconds (30 minutes), even when this parameter is missing from barong.env.

To ensure that your session does not expire earlier than expected, be sure to check both parameters minutesUntilAutoLogout, in env.js and tower.js and SESSION_EXPIRE_TIME in barong.env. It is only logical that SESSION_EXPIRE_TIME equal or bigger than minutesUntilAutoLogout so user session will last exactly as expected amount of time.

4. Set invalid base factor for currency.

 ​ First of all you need to exec to rails console of Peatio and delete currency. Before deleting currency, please make sure that everyone cannot do any actions with this currency, you can just do it invisible for everyone by running following command:   ruby  Currency.find.update(visible: false)    Then you can delete currency by running following command:  ruby  Currency.find(*CURRENCY_CODE*).delete  Now you should create currency from tower admin panel with correct base factor and exactly the same currency code.

5. Does the platform generate a deposit wallet or a deposit address for users?

​ In the case with Bitcoin, the platform generates a deposit address. In the case with Ethereum, the platform generates a deposit wallet. Wallets and addresses are abstractions of account in a blockchain. An address is a public key of a cryptographic key pair. A wallet is a storage of a key pair. Bitcoin wallet can store multiple key pairs, Ethereum wallet stores only one key pair. ​ By default, the platform's Bitcoin node uses only one wallet which contains private keys of all addresses.

6. Why a change of Bitcoin withdrawal transaction sends to another address, not on the same hot wallet address?

​ By default, change is sent to the address from the change address pool. For a next withdrawal, a node uses unspent transactions outputs (UTXO) to addresses from the change pool.

7. How the platform does accounting of Bitcoin transfers between internal addresses?

​ The platform doesn't account transfers between internal addresses. We can not check the balances of wallets in the Tower, admin can click on the address in the Wallet list (if explorer path is set in the blockchain of used currency) to see it in the explorer. Bitcoin like nodes store multiple key pairs and to check the node balance (total balance of a node) you need to use CLI request.