# Get Public Key **GET /wallets/{walletId}/keys/{role}/{index}**

status: stable

Return a public key for a given role and derivation index. To get a hash of the public key, instead of the public key, use query parameter `hash=true`. Note: Only `Soft` indexes are supported by this endpoint. ## Servers - https://localhost:8090/v2: https://localhost:8090/v2 () ## Parameters #### Path parameters - **walletId** (string(hex)) - **role** (string) - **index** (string) An individual segment within a derivation path. The `H` suffix indicates a _Hardened_ child private key, which means that children of this key cannot be derived from the public key. Indices without a `H` suffix are called _Soft_. ## Responses ### 406: Not Acceptable #### Body Parameters: application/json (object) - **message** (string) May occur when providing an invalid 'Accept' header. - **code** (string) ### 404: Not Found #### Body Parameters: application/json (object) - **message** (string) A descriptive error message. - **code** (string) A specific error code for this error, more precise than HTTP ones. ### 400: Bad Request #### Body Parameters: application/json (object) - **message** (string) May occur when a request is not well-formed; that is, it fails to parse successfully. This could be the case when some required parameters are missing or, when malformed values are provided. - **code** (string) ### 200: Ok #### Body Parameters: application/json (string(bech32)) string(bech32) [Powered by Bump.sh](https://bump.sh)