# Json RPC

## Kaanch Network RPC Methods Documentation

This document provides a detailed overview of the various RPC methods available in the Kaanch Network. Each method purpose, required parameters, and example request/response formats are included to help developers interact with the Kaanch Network effectively.

#### Documentation for RPC Methods

**Kaanch Network Testnet RPC #**&#x20;

```
https://full-testnet-rpc.kaanch.network
```

**Kaanch Network Mainnet RPC #**&#x20;

```
https://rpc.kaanch.network
```

**General Information**

Each method requires an HTTPS POST request with a JSON body following the JSON-RPC 2.0 specification. The structure of the request includes:

* `jsonrpc`: The version of the JSON-RPC protocol, which should be "2.0".
* `method`: The name of the method to be invoked.
* `params`: An array of parameters to be passed to the method.
* `id`: A unique identifier for the request.

**Methods and Usage**

1. **eth\_accounts**
   * **Description**: Returns a list of accounts owned by the client.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_accounts",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": ["0xYourAccountAddress"]
     }
     ```
2. **eth\_blockNumber**
   * **Description**: Returns the number of the most recent block.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_blockNumber",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0xBlockNumberInHex"
     }
     ```
3. **eth\_chainId**
   * **Description**: Returns the chain ID of the current network.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_chainId",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0x16D"
     }
     ```
4. **net\_version**
   * **Description**: Returns the current network ID.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "net_version",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "365"
     }
     ```
5. **net\_listening**
   * **Description**: Returns `true` if the client is actively listening for network connections.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "net_listening",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": true
     }
     ```
6. **eth\_estimateGas**
   * **Description**: Estimates the gas needed to execute a transaction.
   * **Parameters**: Transaction object.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_estimateGas",
       "params": [{}],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0x5208"
     }
     ```
7. **eth\_gasPrice**
   * **Description**: Returns the current price per gas in wei.
   * **Parameters**: None.
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_gasPrice",
       "params": [],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0x12A05F200"
     }
     ```
8. **eth\_getBalance**
   * **Description**: Returns the balance of the account at the given address.
   * **Parameters**: Address, block number (optional).
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_getBalance",
       "params": ["0xAddress", "latest"],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0xBalanceInHex"
     }
     ```
9. **eth\_getTransactionCount**
   * **Description**: Returns the number of transactions sent from an address.
   * **Parameters**: Address, block number (optional).
   * **Example Request**:

     ```json
     {
       "jsonrpc": "2.0",
       "method": "eth_getTransactionCount",
       "params": ["0xAddress", "latest"],
       "id": 1
     }
     ```
   * **Example Response**:

     ```json
     {
       "jsonrpc": "2.0",
       "id": 1,
       "result": "0xCountInHex"
     }
     ```
10. **eth\_sendRawTransaction**
    * **Description**: Sends a raw transaction.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "eth_sendRawTransaction",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": "0xTransactionHash"
      }
      ```
11. **eth\_getTransactionReceipt**
    * **Description**: Returns the receipt of a transaction by transaction hash.
    * **Parameters**: Transaction hash.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "eth_getTransactionReceipt",
        "params": ["0xTransactionHash"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* transaction receipt object */ }
      }
      ```
12. **eth\_getTransactionByHash**
    * **Description**: Returns the information about a transaction requested by transaction hash.
    * **Parameters**: Transaction hash.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "eth_getTransactionByHash",
        "params": ["0xTransactionHash"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* transaction object */ }
      }
      ```
13. **eth\_getTransactionHistory**
    * **Description**: Returns the transaction history for a given address.
    * **Parameters**: Address, size of the result.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "eth_getTransactionHistory",
        "params": ["0xAddress", 10],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* transaction history array */ ]
      }
      ```
14. **kaanch\_getTransactionHistorybycontract**
    * **Description**: Returns the transaction history for a given address and contract.
    * **Parameters**: Address, contract address, size of the result.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_getTransactionHistorybycontract",
        "params": ["0xAddress", "0xContractAddress", 10],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* transaction history array */ ]
      }
      ```
15. **kaanch\_toptokenholder**
    * **Description**: Returns the top token holders for a given contract.
    * **Parameters**: Contract ID, size of the result.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_toptokenholder",
        "params": ["0xContractId", 10],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json


      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* top token holders array */ ]
      }
      ```
16. **kaanch\_recenttrxnbycontract**
    * **Description**: Returns the recent transactions for a given contract.
    * **Parameters**: Contract address, size of the result.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_recenttrxnbycontract",
        "params": ["0xContractAddress", 10],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* recent transactions array */ ]
      }
      ```
17. **kaanch\_tokenDetails**
    * **Description**: Returns the details of a token.
    * **Parameters**: Contract address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenDetails",
        "params": ["0xContractAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* token details object */ }
      }
      ```
18. **kaanch\_alltokeninfo**
    * **Description**: Returns the information of all tokens.
    * **Parameters**: None.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_alltokeninfo",
        "params": [],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* all token info array */ ]
      }
      ```
19. **kaanch\_verifiedToken**
    * **Description**: Returns the verified tokens.
    * **Parameters**: None.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_verifiedToken",
        "params": [],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* verified tokens array */ ]
      }
      ```
20. **kaanch\_tokenSend**
    * **Description**: Sends tokens.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenSend",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
21. **kaanch\_TokenBalance**
    * **Description**: Returns the token balance of an address.
    * **Parameters**: Wallet address, contract address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_TokenBalance",
        "params": ["0xWalletAddress", "0xContractAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": "0xTokenBalanceInHex"
      }
      ```
22. **kaanch\_allBalance**
    * **Description**: Returns the balance of all tokens for an address.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_allBalance",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* all balances array */ ]
      }
      ```
23. **kaanch\_Tokencheckblacklist**
    * **Description**: Checks if an address is blacklisted for a token.
    * **Parameters**: Wallet address, contract address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Tokencheckblacklist",
        "params": ["0xWalletAddress", "0xContractAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* blacklist status */ }
      }
      ```
24. **kaanch\_tokenCreate**
    * **Description**: Creates a new token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenCreate",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
25. **kaanch\_domainregister**
    * **Description**: Registers a new domain.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_domainregister",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
26. **kaanch\_domainsetprimaryname**
    * **Description**: Sets the primary name for a domain.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_domainsetprimaryname",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
27. **kaanch\_domainnameupdate**
    * **Description**: Updates a domain name.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_domainnameupdate",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
28. **kaanch\_Stakingdata**
    * **Description**: Returns staking data for an address.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Stakingdata",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* staking data object */ }
      }
      ```
29. **kaanch\_info**
    * **Description**: Returns information for a wallet address.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_info",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* information object */ }
      }
      ```
30. **kaanch\_Validatordetails**
    * **Description**: Returns the details of a validator.
    * **Parameters**: Validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Validatordetails",
        "params": ["0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* validator details object */ }
      }
      ```
31. **kaanch\_Stakingdatafull**
    * **Description**: Returns full staking data for an address.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      jsonCopy code{
        "jsonrpc": "2.0",
        "method": "kaanch_Stakingdatafull",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      jsonCopy code{
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* full staking data object */ }
      }
      ```
32. **kaanch\_blockbyValidator**
    * **Description**: Returns the block count by a validator.
    * **Parameters**: Validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_blockbyValidator",
        "params": ["0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* block count object */ }
      }
      ```
33. **kaanch\_ValidatorEligible**
    * **Description**: Checks if a validator is eligible.
    * **Parameters**: Validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_ValidatorEligible",
        "params": ["0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* eligibility status */ }
      }
      ```
34. **kaanch\_ValidatorCreate**
    * **Description**: Creates a new validator.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_ValidatorCreate",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
35. **kaanch\_stake**
    * **Description**: Stakes tokens.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_stake",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
36. **kaanch\_checkstakingreward**
    * **Description**: Checks staking rewards.
    * **Parameters**: User address, validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_checkstakingreward",
        "params": ["0xUserAddress", "0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* staking reward object */ }
      }
      ```
37. **kaanch\_claimstakingreward**
    * **Description**: Claims staking rewards.
    * **Parameters**: Raw transaction data, validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_claimstakingreward",
        "params": ["0xRawTransactionData", "0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
38. **kaanch\_unstake**
    * **Description**: Unstakes tokens.
    * **Parameters**: Raw transaction data, validator address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_unstake",
        "params": ["0xRawTransactionData", "0xValidatorAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
39. **kaanch\_TokenbyOwner**
    * **Description**: Returns the tokens owned by an address.
    * **Parameters**: Address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_TokenbyOwner",
        "params": ["0xAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* tokens owned array */ ]
      }
      ```
40. **kaanch\_allstake**
    * **Description**: Returns all stakes for an address.
    * **Parameters**: Address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_allstake",
        "params": ["0xAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* all stakes array */ ]
      }
      ```
41. **kaanch\_contractmetadata**
    * **Description**: Returns the metadata of a contract.
    * **Parameters**: Contract address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_contractmetadata",
        "params": ["0xContractAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* contract metadata object */ }
      }
      ```
42. **kaanch\_tokendata**
    * **Description**: Returns the data of a token.
    * **Parameters**: Contract address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokendata",
        "params": ["0xContractAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* token data object */ }
      }
      ```
43. **kaanch\_Tokenaddblacklist**
    * **Description**: Adds an address to the blacklist for a token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Tokenaddblacklist",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
44. **kaanch\_Tokenremoveblacklist**
    * **Description**: Removes an address from the blacklist for a token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Tokenremoveblacklist",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
45. **kaanch\_Tokenpause**
    * **Description**: Pauses a token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_Tokenpause",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
46. **kaanch\_Tokenunpause**
    * **Description**: Unpauses a token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      jsonCopy code{
        "jsonrpc": "2.0",
        "method": "kaanch_Tokenunpause",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      jsonCopy code{
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
47. **kaanch\_tokenOwnershipTransfer**
    * **Description**: Transfers the ownership of a token.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenOwnershipTransfer",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
48. **kaanch\_tokenmint**
    * **Description**: Mints new tokens.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenmint",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
49. **kaanch\_tokenburn**
    * **Description**: Burns tokens.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_tokenburn",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
50. **kaanch\_validatorbyowner**
    * **Description**: Returns the validator details by owner address.
    * **Parameters**: Owner address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_validatorbyowner",
        "params": ["0xOwnerAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* validator details object */ }
      }
      ```
51. **kaanch\_updateValidator**
    * **Description**: Updates a validator.
    * **Parameters**: Raw transaction data.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_updateValidator",
        "params": ["0xRawTransactionData"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
52. **kaanch\_getblockdata**
    * **Description**: Returns the block details.
    * **Parameters**: block number.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_getblockdata",
        "params": ["123456"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
          "jsonrpc": "2.0",
          "id": 1,
          "result": {
              "blockNumber": ,
              "blockHash": "",
              "nodeNumber": ,
              "validatoraddress": "",
              "totalFees": "",
              "totalrewardwithfee": "",
              "FeeRecipient": "",
              "FeeRecipientAddress": "",
              "BlockReward": "",
              "foundationreward": "",
              "Burnt": "",
              "timestamp": ,
              "transactions": [
                  "",
                  ""
              ]
          }
      }
      ```
53. **kaanch\_checkbridge**
    * **Description**: Checks the bridge status for an address.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "kaanch_checkbridge",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* bridge status object */ }
      }
      ```
54. **exchange\_cancelorder**
    * **Description**: Cancels an order on the exchange.
    * **Parameters**: Order ID.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_cancelorder",
        "params": ["orderID"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
55. **exchange\_createorder**
    * **Description**: Creates a new order on the exchange.
    * **Parameters**: Order object (details like asset pair, price, quantity, etc.).
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_createorder",
        "params": [{ /* order details */ }],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
56. **exchange\_balance**
    * **Description**: Returns the balance of a user on the exchange.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_balance",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* balance object */ }
      }
      ```
57. **exchange\_allopenorder**
    * **Description**: Returns all open orders on the exchange.
    * **Parameters**: None.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_allopenorder",
        "params": [],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* open orders array */ ]
      }
      ```
58. **exchange\_tradebyassetpair**
    * **Description**: Returns trades for a given asset pair.
    * **Parameters**: Asset pair (e.g., ETH/USD).
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_tradebyassetpair",
        "params": ["ETH/USD"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* trades array */ ]
      }
      ```
59. **exchange\_balanceclaim**
    * **Description**: Claims the balance for a user on the exchange.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_balanceclaim",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": { /* result object */ }
      }
      ```
60. **exchange\_usertradebyassetpair**
    * **Description**: Returns trades for a user by asset pair.
    * **Parameters**: Wallet address, asset pair (e.g., ETH/USD).
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_usertradebyassetpair",
        "params": ["0xWalletAddress", "ETH/USD"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* user trades array */ ]
      }
      ```
61. **exchange\_usertrade**
    * **Description**: Returns trades for a user.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_usertrade",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* user trades array */ ]
      }
      ```
62. **exchange\_userallopenorder**
    * **Description**: Returns all open orders for a user.
    * **Parameters**: Wallet address.
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_userallopenorder",
        "params": ["0xWalletAddress"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* user open orders array */ ]
      }
      ```
63. **exchange\_useropenorderbyassetPair**
    * **Description**: Returns open orders for a user by asset pair.
    * **Parameters**: Wallet address, asset pair (e.g., ETH/USD).
    * **Example Request**:

      ```json
      {
        "jsonrpc": "2.0",
        "method": "exchange_useropenorderbyassetPair",
        "params": ["0xWalletAddress", "ETH/USD"],
        "id": 1
      }
      ```
    * **Example Response**:

      ```json
      {
        "jsonrpc": "2.0",
        "id": 1,
        "result": [ /* user open orders array */ ]
      }
      ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kaanch.network/json-rpc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
