> For the complete documentation index, see [llms.txt](https://tutorial.neoline.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tutorial.neoline.io/reference/neo3-provider-api-legacy/read-methods/invokereadmulti.md).

# invokeReadMulti

Execute a contract invocation in read-only mode.

## **Input Arguments**

| Parameter                                                                                                                                                        | Description                                           |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| `scriptHash: string`                                                                                                                                             | Script hash of the smart contract to invoke a read on |
| `operation: string`                                                                                                                                              | Operation on the smart contract to call               |
| `invokeReadArgs:` [![i](http://localhost:8080/assets/images/info.svg)](/reference/neo3-provider-api-legacy/read-methods/invokereadmulti.md#argument)`Argument[]` | Any input arguments for the operation                 |

## **Success Response**

The wallet will return the direct response from the RPC node.

| Parameter                                                                                                                                               | Description                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `script: string`                                                                                                                                        | The script which was run                                                                      |
| `state: string`                                                                                                                                         | Status of the executeion                                                                      |
| `gas_consumed: string`                                                                                                                                  | Estimated amount of GAS to be used to execute the invocation. (Up to 10 free per transaction) |
| `stack:` [![i](http://localhost:8080/assets/images/info.svg)](/reference/neo3-provider-api-legacy/read-methods/invokereadmulti.md#argument)`Argument[]` | An array of response arguments                                                                |

### Argument

| Parameter                                                                                                   | Description                                               |
| ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `type: 'String' \| 'Boolean' \| 'Hash160' \| 'Hash256' \| 'Integer' \| 'ByteArray' \| 'Array' \| 'Address'` | The type of the argument with you are using               |
| `value: string`                                                                                             | String representation of the argument which you are using |

## **Error Response**

| Parameter             | Description                                  |
| --------------------- | -------------------------------------------- |
| `type: string`        | The type of error which has occured          |
| `description: string` | A description of the error which has occured |
| `data: string`        | Any raw data associated with the error       |

## Example

### Request

```js
neolineN3.invokeReadMulti({
    invokeReadArgs: [
        {
            scriptHash: "d2a4cff31913016155e38e474a2c06d08be276cf",
            operation: "balanceOf",
            args: [
                {
                    type: "Address",
                    value: "NaUjKgf5vMuFt7Ffgfffcpc41uH3adx1jq",
                }
            ]
        },
        {
            scriptHash: "d2a4cff31913016155e38e474a2c06d08be276cf",
            operation: "balanceOf",
            args: [
                {
                    type: "Address",
                    value: "NaUjKgf5vMuFt7Ffgfffcpc41uH3adx1jq",
                }
            ]
        }
    ],
    signers: [
        {
            account: "2cab903ff032ac693f8514581665be534beac39f",
            scopes: 1
        }
    ]
}).then(result => {
    console.log('Read invocation result: ' + JSON.stringify(result));
})
.catch((error) => {
  const {type, description, data} = error;
  switch(type) {
    case 'NO_PROVIDER':
        console.log('No provider available.');
        break;
    case 'CONNECTION_REFUSED':
        console.log('Connection dApp not connected. Please call the "connect" function.');
        break;
    case 'RPC_ERROR':
        console.log('There was an error when broadcasting this transaction to the network.');
        break;
    default:
        // Not an expected error object.  Just write the error to the console.
        console.error(error);
        break;
  }
});
```

### Response

```js
[
    {
        "script": "DBRHsV1d1v6Pnc51X7CYvP4eBbMIAxHAHwwJYmFsYW5jZU9mDBTPduKL0AYsSkeO41VhARMZ88+k0kFifVtS",
        "state": "HALT",
        "stack": [
            {
                "type": "Integer",
                "value": "5293314113"
            }
        ]
    },
    {
        "script": "DBRHsV1d1v6Pnc51X7CYvP4eBbMIAxHAHwwJYmFsYW5jZU9mDBTPduKL0AYsSkeO41VhARMZ88+k0kFifVtS",
        "state": "HALT",
        "stack": [
            {
                "type": "Integer",
                "value": "5293314113"
            }
        ]
    }
]
```
