Checks the transaction without executing it.

The transaction won't be added to the mempool.

Please refer to for formatting/encoding rules.

Upon success, the Cache-Control header will be set with the default maximum age.


  • OBJECT - parameters
    • tx: STRING - base64 encoded transaction hash to retrieve



      To pass a transaction hash as a parameter in JSON RPC, you need to convert the transaction hash from hexadecimal format to base64 format. Since the transaction hash is already in hexadecimal format, you first need to decode it into bytes and then convert it to base64 format.

      You can easily convert hex to base64 at once here.

curl \
--header "Content-Type: application/json" \
--data '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "check_tx",
  "params": {
    "tx": "jqo5ExftVZj95llax8KjXxvPbIgfUu+5y3aS/vE2Vsw="


  • OBJECT - ABCI application's CheckTx response
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "code": 2,
        "data": null,
        "log": "expected 2 wire type, got 7: tx parse error",
        "info": "",
        "gas_wanted": "0",
        "gas_used": "13350",
        "events": [
        "codespace": "sdk",
        "sender": "",
        "priority": "0",
        "mempoolError": ""

Try Yourself

Click Try It! to start a request and see the response here!