# Cosmos Methods

{% embed url="<https://docs.walletconnect.com/advanced/rpc-reference/cosmos-rpc>" %}

### **cosmos\_getAccounts**

: This method returns an array of key pairs available to sign from the wallet mapped with an associated algorithm and address on the blockchain.

* Parameters

  ```json
  **none**
  ```
* Returns

  ```json
  1. Array - Array of accounts:
  1.1. Object - Account Data object with parameters:
  1.1.1. algo: STRING - algorithm used for signing
  1.1.2. address: STRING - corresponding address for keypair
  1.1.3. pubkey: STRING - base64 encoded public key for keypair
  ```
* Example

  ```json
  // Request
  {
      "id": 1,
      "jsonrpc": "2.0",
      "method": "cosmos_getAccounts",
      "params": {}
  }

  // Result
  {
      "id": 1,
      "jsonrpc": "2.0",
      "result":  [
          {
              "algo": "secp256k1",
              "address": "cosmos1sguafvgmel6f880ryvq8efh9522p8zvmrzlcrq",
              "pubkey": "AgSEjOuOr991QlHCORRmdE5ahVKeyBrmtgoYepCpQGOW"
          }
      ]
  }
  ```

### **cosmos\_signAmino**

: This method returns a signature for the provided document to be signed targeting the requested signer address corresponding to the keypair returned by the account data.

* Parameters

  ```json
  1. Object - Signing parameters:
  1.1. signerAddress: STRING - corresponding address for keypair
  1.2. signDoc: Object - Document to be signed:
  1.2.2. chain_id: STRING - identifier of blockchain
  1.2.1. account_number: STRING - blockchain account number
  1.2.3. sequence: STRING - blockchain account sequence
  1.2.4. memo: STRING - amino message memo
  1.2.5. msgs: Array - array of amino messages to be signed:
  1.2.5.1. Object - amino message object:
  1.2.5.1.1. - type: STRING - amino message type
  1.2.5.1.2. - value: STRING - amino message value
  1.2.6. fee: Object - fee description object
  1.2.6.1. amount: Array - array of currency fees:
  1.2.6.1.1. Object - currency fee description object:
  1.2.6.1.1.1. denom: STRING - currency denomination
  1.2.6.1.1.2. amount: STRING - currency amount
  1.2.6.2. gas: STRING - gas limit for execution
  ```
* Returns

  ```json
  1. Object - Signing parameters:
  1.1. signature: Object - corresponding signature for signed documented
  1.1.1. pub_key: Object - public key for keypair
  1.1.1.1. type: STRING - type of public key
  1.1.1.2. value: STRING - value of public key
  1.1.2. signature: STRING - corresponding signature for signed documented
  1.2. signed: Object - Signed document:
  1.2.2. chain_id: STRING - identifier of blockchain
  1.2.1. account_number: STRING - blockchain account number
  1.2.3. sequence: STRING - blockchain account sequence
  1.2.4. memo: STRING - amino message memo
  1.2.5. msgs: Array - array of amino messages to be signed:
  1.2.5.1. Object - amino message object:
  1.2.5.1.1. - type: STRING - amino message type
  1.2.5.1.2. - value: STRING - amino message value
  1.2.6. fee: Object - fee description object
  1.2.6.1. amount: Array - array of currency fees:
  1.2.6.1.1. Object - currency fee description object:
  1.2.6.1.1.1. denom: STRING - currency denomination
  1.2.6.1.1.2. amount: STRING - currency amount
  1.2.6.2. gas: STRING - gas limit for execution
  ```
* Example

  ```json
  // Request
  {
      "id": 1,
      "jsonrpc": "2.0",
      "method": "cosmos_signAmino",
      "params": {
          "signerAddress": "cosmos1sguafvgmel6f880ryvq8efh9522p8zvmrzlcrq",
          "signDoc": {
              "chain_id": "foochain",
              "account_number": "7",
              "sequence": "54"
              "memo": "hello, world",
              "msgs": [],
              "fee": { "amount": [], "gas": "23" }
          }
      }
  }

  // Result
  {
      "id": 1,
      "jsonrpc": "2.0",
      "result":  {
          "signature": {
              "pub_key": {
                  "type": "tendermint/PubKeySecp256k1",
                  "value": "AgSEjOuOr991QlHCORRmdE5ahVKeyBrmtgoYepCpQGOW"
              },
              "signature": "AnTrXtS2lr9CBwhTpRa8ZlKcVR9PeIXGaTpvodyJU05QvRKVjIkQfOZl5JhdkfxCY+a6rhwCOYVcbKQTJlMw4w=="
          },
          "signed": {
              "chain_id": "foochain",
              "account_number": "7",
              "sequence": "54"
              "memo": "hello, world",
              "msgs": [],
              "fee": { "amount": [{"denom": "ufoo", "amount": "10000"}], "gas": "23" }
          }
      }
  }
  ```


---

# 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.neopin.io/developers/walletconnect-2.0/methods/cosmos-methods.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.
