Wallet RPC API

On this page you will find description of every method in Qwertycoin RPC Wallet API. Qwertycoin RPC Wallet is a HTTP server which provides JSON 2.0 RPC interface for Qwertycoin payment operations and address management. Each method has its own page that can be found by clicking on this method.

More on how to start and operate Qwertycoin RPC Wallet can be found here: [Using-RPC-Wallet.md Qwertycoin RPC Wallet].

To make a JSON PRC request to your Qwertycoin RPC Wallet you should use POST request that looks like this:

 http://<service address>:<service port>/json_rpc

Where:

  • is an IP of Qwertycoin RPC Wallet, if RPC Wallet is located on local machine it is either 127.0.0.1 or localhost,

  • is Qwertycoin RPC Wallet port, by default it is binded to 8070 port, but it can be manually binded to any port you want, read more about this

Reset

reset() method allows you to re-sync your wallet.

Input.

No output in case of success.

Important: If the view_secret_key was not pointed out reset() methods resets the wallet and re-syncs it. If the view_secret_key argument was pointed out reset() method substitutes the existing wallet with a new one with a specified view_secret_key and creates an address for it.

Input value example:

 {  
   'params':{  
      'viewSecretKey':'4a2583e42d010e8aabfed22743789569714196246bf01b5f2fec35af9232d907'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'reset'
 }

Output value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
   }
 }

Save

save() method allows you to save your wallet by request.

No input.

No output in case of success.

Input value example:

 {  
   'params':{  
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'save'
 }

Output value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
   }
 }

Get view key

getViewKey() method returns your view key.

No input.

Output:

Input Example:

 {  
   'params':{  
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getViewKey'
 }

Return value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'viewSecretKey':'4a2583e42d010e8aabfed22743789569714196246bf01b5f2fec35af9232d907'
   }
 }

Get spend keys

getSpendKeys() method returns your spend keys.

Output:

Input Example:

 {  
   'params':{  
      'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getSpendKeys'
 }

Return value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'spendSecretKey':'4a2583e42d010e8aabfed22743789569714196246bf01b5f2fec35af9232d907'
      'spendPublicKey':'4a2583e42d010e8aabfed22743789569714196246bf01b5f2fec35af9232d907'
   }
 }

Get addresses

getAddresses() method returns an array of your RPC Wallet's addresses.

No input.

Output:

Input example:

 {  
   'params':{  
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getAddresses'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'addresses':[  
         'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt',
         'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
      ]
   }
 }

Create address

createAddress() method creates an additional address in your wallet.

Input:

Note: If none of the above mentioned parameters were specified, RPC Wallet creates spend address with generated spend key.

Note: both above mentioned parameters can't be present in a single request

Output:

Input value example:

 {  
   'params':{  
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'createAddress'
 }

Output value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
   }
 }

Delete address

deleteAddress() method deletes a specified address.

Input:

Output:

In case of success returns an empty JSON object.

Input example:

 {  
   'params':{  
      'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'deleteAddress'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
   }
 }

Get balance

getBalance() method returns a balance for a specified address.

Please note: If address is not specified, returns a cumulative balance of all RPC Wallet's addresses.

Input:

Output:

Input example:

 {  
   'params':{  
      'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getBalance'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'lockedAmount':210,
      'availableBalance':110
   }
 }

Get block hashes

getBlockHashes() method returns an array of block hashes for a specified block range.

Input:

Output:

Input example:

 {  
   'params':{  
      'blockCount':11,
      'firstBlockIndex':0
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getBlockHashes'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'blockHashes':[  
         '8a6f1cb7ed7a9db4751d7b283a0482baff20567173dbfae136c9bceb188e51c4',
         '657cd1c33df7f4250d581c97db665cb4a1856ebfadd6efabaeab745c2c76b1be',
         '21047174f74576b6722e72646d7bd553e17d7c9f07fef05151bb1f9df7ed9dd8',
         '504b9bfb2cd34531551cb2d68ea3e34e030d991164589ba7ed24e16fed3ea374',
         'd9d36b5226d11b2cf60e3cf2038b21032c4ac753eabc32fbdd506158f95a69ca',
         '171be105f8e39729838144c78ced336d0ebc29a4bd2c7a22901c0e8c0eaabb42',
         '5f7933bd0257649a44e571d59a9f4083297acbdd338c1c0094a7226ade8d0f0f',
         '967fd52a57e8193f56329bb37abdddce717098429f62c00776342c605a28e19b',
         '6b1a21634a3d72821c43a244af16098eba7c0a59a2e409efa38bd420702f7594',
         '7bb5ca944c5f916f80d50246f48789cc4605efd166efc2308553fe0d208fbe12',
         '83dfef7c288121d87e60f52c74d3da6b422d4b8581ce732ef8b54273bd6c4f45'
      ]
   }
 }

Get transaction hashes

getTransactionHashes() method returns an array of block and transaction hashes.

Transaction consists of transfers. Transfer is an amount-address pair. There could be several transfers in a single transaction.

Input:

Note: if paymentId parameter is set, getTransactionHashes() method returns transaction hashes of transactions that contain specified payment_id. (in the set block range)

Note: if addresses parameter is set, getTransactionHashes() method returns transaction hashes of transactions that contain transfer from at least one of specified addresses.

Note: if both above mentioned parameters are set, getTransactionHashes() method returns transaction hashes of transactions that contain both specified payment_id and transfer from at least one of specified addresses.

Output:

Input example:

 {  
   'params':{  
      'blockCount':100,
      'firstBlockIndex':0,
      'addresses':[  
         'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
      ]
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getTransactionHashes'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'items':[  
         {  
            'transactionHashes':[  
                957dcbf54f327846ea0c7a16b2ae8c24ba3fa8305cc3bbc6424e85e7d358b44b
                25bb751814dd39bf46c972bd760e7516e34200f5e5dd02fda696671e11201f78
            ],
            'blockHash':'8a6f1cb7ed7a9db4751d7b283a0482baff20567173dbfae136c9bceb188e51c4'
         }
      ]
   }
}

Get transactions

getTransactions() method returns an array of block and transaction hashes.

Transaction consists of transfers. Transfer is an amount-address pair. There could be several transfers in a single transaction.

Input:

Note: if paymentId parameter is set, getTransactions() method returns transactions that contain specified payment_id. (in the set block range)

Note: if addresses parameter is set, getTransactions() method returns transactions that contain transfer from at least one of specified addresses.

Note: if both above mentioned parameters are set, getTransactions() method returns transactions that contain both specified payment_id and transfer from at least one of specified addresses.

Output:

        -   block\_hash - string - hash of the block which contains a transaction                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
        -   transactions - array - contains                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

        ** transactionHash - string - hash of the transaction ** blockIndex - uint32 - number of the block that contains a transaction ** timestamp - uint64 - timestamp of the transaction ** isBase - boolean - shows if the transaction is a coinbase transaction or not ** unlockTime - uint64 - height of the block when transaction is going to be available for spending ** amount - int64 - amount of the transaction ** fee - uint64- transaction fee ** extra - string ** paymentId - string - payment\_id of the transaction (optional) ** transfers - array - contains **\* address - string **\* amount - int64  | array  | See below |

Input example:

 {  
   'params':{  
      'blockCount':1000,
      'firstBlockIndex':1,
      'addresses':[  
         'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt',
         'KegWNCZv8CQ5YoUZFLAUpxQhHt9FAo5KhXBEaHGTeaDD1t5ZZsKoEMQ8sgUMcyKbwpFJGaaY73Bwf3bUXVLsgAZa7nCv85k',
         'KiQ5AonXm7saDTsNEi9uJsb5HswnafrsVLn2vWT1PGGTi1KFbJypdqs7xWrdU54ieXcdQtiV1bDAcVZjYjwFg41v9v7x869'
      ],
      paymentId:'somePaymentId'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getTransactions'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'items':[  
         {  
            'blockHash':'01bd06ca731914f27e143bbb902ce0bc05bff13d76faa027ea817e68f217488c',
            'transactions':[  
               {  
                  'fee':-70368475742208,
                  'extra':'0127cea59bfadc49aa02ed4a225936671e55607b5241621abca2a5e14405906dbb',
                  'timestamp':1446029698,
                  'blockIndex':1,
                  'state':0,
                  'transactionHash':'06ec210a8359f253f8b2160a0d6040cf89f2a05a553aaa577b7f508ee5d831f9',
                  'amount':70368475742208,
                  'unlockTime':11,
                  'transfers':[  
                     {  
                        'amount':70368475742208,
                        'type':0,
                        'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
                     }
                  ],
                  'paymentId':'',
                  'isBase':True
               }
            ]
         },
         {  
            'blockHash':'28aa7d32f4274f6387969d7671bd4db98fd871bf0dd510a1df5e2ef4b1d41a35',
            'transactions':[  
               {  
                  'fee':-70368207307776,
                  'extra':'01a8e6e408282b2ddf343e20d5e9aab283723ba10ab7ab7b3131f6981b02a84431',
                  'timestamp':1446029698,
                  'blockIndex':2,
                  'state':0,
                  'transactionHash':'922d00d2e6eaed63f62d8e3b968cb08b6ea5c555fe0e6af948ab06efe6eb213a',
                  'amount':70368207307776,
                  'unlockTime':12,
                  'transfers':[  
                     {  
                        'amount':70368207307776,
                        'type':0,
                        'address':'KfXkT5VmdqmA7bWqSH37p87hSXBdTpTogN4mGHPARUSJaLse6jbXaVbVkLs3DwcmuD88xfu835Zvh6qBPCUXw6CHK8koDCt'
                     }
                  ],
                  'paymentId':'',
                  'isBase':True
               }
            ]
         }
      ]
   }
 }

Get unconfirmed transaction hashes

getUnconfirmedTransactionHashes() method returns information about the current unconfirmed transaction pool or for a specified addresses.

Transaction consists of transfers. Transfer is an amount-address pair. There could be several transfers in a single transaction.

Input:

Note: if addresses parameter is set, getUnconfirmedTransactionHashes() method returns transactions that contain transfer from at least one of specified addresses.

Output:

Input example:

 {  
   'params':{  
      'addresses':[  
         'KdbDPifEfmQDZAxMxjrkbPPLHtwv1ezGr2GRB3P377ecToxGkrTFTe2EEjAKbhPqA61FPTi14UpkMVMh2pn1et1y8PdDwn4',
         'KfBV6ryfQdrNFhQ3pwnWw21mKomejKpdVj8diVdu5nAdYh7vft5JcMHjMshEcAqAJGaUSmDvTPKTtSWyGxc52R1c4JFVKUP',
         'KdA226MT2R3CtZH6oVHVQJ3J1j6HS7ircHNrJMvSb3tRTqnGEBjqojdUHzPKRigkjecw1iwW15qRp4bWvV2dTuz8QNMdAU8'
      ]
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getUnconfirmedTransactionHashes'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'transactionHashes':[  
         ...,
         ...,
         ...
      ]
   }
 }

Get transaction

getTransaction() method returns information about a particular transaction.

Transaction consists of transfers. Transfer is an amount-address pair. There could be several transfers in a single transaction.

Input:

Output:

           -   transactionHash - string - hash of the transaction                                                
           -   blockIndex - uint32 - number of the block that contains a transaction (optional)                  
           -   timestamp - uint64 - timestamp of the transaction (optional)                                      
           -   isBase - boolean - shows if the transaction is a coinbase transaction or not                      
           -   unlockTime - uint64 - height of the block when transaction is going to be available for spending  
           -   amount - int64 - amount of the transaction                                                        
           -   fee - uint64- transaction fee                                                                     
           -   extra - string - ?                                                                                
           -   paymentId - string - payment\_id of the transaction (optional)                                    
           -   transfers - array - contains                                                                      

           ** address - string ** amount - int64                                                               | array  | See below |

Input example:

 {  
   'params':{  
      'transactionHash':'92423b0857d36bd172b3f2effbd47ea477bfe0618a50c29d475542c6d5d1b835'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'getTransaction'
 }

Output example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'transaction':{  
         'fee':1000000,
         'extra':'0130b4472974f2deb9fae7d8fd6602b26396379f3fa05cca2430e10e9e60179f42',
         'timestamp':0,
         'blockIndex':4294967295,
         'state':0,
         'transactionHash':'92423b0857d36bd172b3f2effbd47ea477bfe0618a50c29d475542c6d5d1b835',
         'amount':-1703701,
         'unlockTime':0,
         'transfers':[  
            {  
               'amount':123456,
               'type':0,
               'address':'KiQxu9U3F7vdGggu4NQ3CKDhk59vMQyMaFbLtu7TU4TdUkNtuJufqpo67r2e5j5p44SBsBBygaRdmeB4gwH9CF1C3zufGWd'
            },
            {  
               'amount':234567,
               'type':0,
               'address':'KccShmn49D4JZED1g4CM98RpszuMbbDEaYNVpCWjUkDuWPVpo8EEUHaReKeHBmpoNdTENs841QUBRNitFHD7W29oDVfV9ze'
            },
            {  
               'amount':345678,
               'type':0,
               'address':'KfCPBzzR28edvZqLv6t8XVY98jeK6YEjS3birBPTHjY1hXSFM5k5pjUNSur6UhbP8EaqhZ69PVJF991KqCtYFox7NUSvcjw'
            }
         ],
         'paymentId':'',
         'isBase':False
      }
   }
 }

Send transaction

sendTransaction() method allows you to send transaction to one or several addresses. Also, it allows you to use a payment_id for a transaction to a single address.

Input:

Note: if container contains only 1 address, changeAddress field can be left empty and the change is going to be sent to this address

Note: if addresses field contains only 1 address, changeAddress can be left empty and the change is going to be sent to this address

Note: in the rest of the cases, changeAddress field is mandatory and must contain an address.

Output:

Input Example:

 {  
   'params':{  
      'anonymity':0,
      'fee':1000000,
      'unlockTime':0,
      'paymentId':'somePaymentId',
      'addresses':[  
         'KbzvFzjQeWCZawinhkDZUKF6pjDv1TLU678poSAEFKWRL3kgWk48sxCN8z6tpfkzMZ82AQyfhiU4uZ66mnU942AHKokr6PG',
         'KiHzZqEzezyaZCP5AdZ1v6K1dAi5aBrU3E9czrZbS6whPUVDBLPLdqU4aiLviNUFfXMEh2kQwSEJGBNpegY6To4wQ9aBwDU',
         'KacpStR6z373JoBgBAVoUch9C1Uzbp3p3e95NJkZtcGPe7sJ3AZNzfzL1qzh7zqvekDxvBZepZGqcRsa7MhCmP3NL27GH5V'
      ],
      'transfers':[  
         {  
            'amount':123456,
            'address':'KbjVbfZkw5eYMMBBYCEoc3TtMe6yNQgPvSepH1KRqxhc3Pr2VBtFLrtD1E6oQAEbtJQsbJrtqWjMoKo1q5HtKAFdUcYBH41'
         },
         {  
            'amount':234567,
            'address':'Kis97C9AM1PQataUmbpjmXbZz2KSynxgURYb8moceDPXVWBwt4pjGtvAmfY3qmhcrBZgyKfLGnhGCW8LxBHGiDrrC5GLjhD'
         },
         {  
            'amount':345678,
            'address':'KdAzF8benG4aygdY5v5R5j8bLrzN1hSTfb2c8UneNbNW1VB4QnWD7SSPGpne17HGiLhid1VGq73B3Wc6ZWLaq2GZEaw9hrc'
         }
      ],
      'changeAddress':'KbzvFzjQeWCZawinhkDZUKF6pjDv1TLU678poSAEFKWRL3kgWk48sxCN8z6tpfkzMZ82AQyfhiU4uZ66mnU942AHKokr6PG'
   },
   'jsonrpc':'2.0',
   'id':'test',
   'method':'sendTransaction'
 }

Return value example:

 {  
   'jsonrpc':'2.0',
   'id':'test',
   'result':{  
      'transactionHash':'93faedc8b8a80a084a02dfeffd163934746c2163f23a1b6022b32423ec9ae08f'
   }
 }

Last updated