> 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/invoke.md).

# invoke

Calls one or more contracts on-chain and returns the relayed transaction hash.

## Parameters

#### 1. invocations *(required)*

`InvocationArguments[]`

Each invocation defines a contract hash, operation, arguments, and optional `abortOnFail`.

#### 2. signers *(optional)*

`Signer[]`

Witness scope information for the transaction.

#### 3. attributes *(optional)*

`TransactionAttribute[]`

Supported standard attributes include `HighPriority` and `OracleResponse`.

#### 4. options *(optional)*

`TransactionOptions`

```ts
type TransactionOptions = {
  suggestedSystemFee?: Integer;
  extraSystemFee?: Integer;
  validUntilBlock?: number;
};
```

## Returns

`Promise<UInt256>`

The relayed transaction hash.

## Errors

| Code    | Name        | Description                        |
| ------- | ----------- | ---------------------------------- |
| `10002` | `INVALID`   | One or more inputs are invalid.    |
| `10004` | `FAILED`    | Contract execution failed.         |
| `10005` | `TIMEOUT`   | The request timed out.             |
| `10006` | `CANCELED`  | The user rejected the transaction. |
| `10008` | `RPC_ERROR` | The RPC server returned an error.  |

## Example

### Request

```js
const txid = await provider.invoke(
  [
    {
      hash: "0xd2a4cff31913016155e38e474a2c06d08be276cf",
      operation: "transfer",
      args: [
        { type: "Hash160", value: "0x682cca3ebdc66210e5847d7f8115846586079d4a" },
        { type: "Hash160", value: "0xd45b7756498f83c9af7c2f71c66f8d6a8f6d6d11" },
        { type: "Integer", value: "100000000" },
        { type: "Any" },
      ],
      abortOnFail: true,
    },
  ],
  [
    {
      account: "0x682cca3ebdc66210e5847d7f8115846586079d4a",
      scopes: "CalledByEntry",
    },
  ],
  [],
  {
    extraSystemFee: "10000",
    suggestedSystemFee: "1000000",
  },
);
```

### Response

```js
"0x1f4d1defa46faa5e7b9b8d3f79a06bec777d7c26c4aa5f6f5899a291daa87c15"
```
