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

# makeTransaction

Builds a transaction and returns a `ContractParametersContext` without relaying it.

This method is commonly used for multi-signature or external signing flows.

## Parameters

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

`InvocationArguments[]`

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

`Signer[]`

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

`TransactionAttribute[]`

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

`TransactionOptions`

## Returns

`Promise<ContractParametersContext>`

```ts
type ContractParametersContext = {
  type: "Neo.Network.P2P.Payloads.Transaction";
  hash: UInt256;
  data: Base64Encoded;
  items: Record<
    UInt160,
    {
      script: Base64Encoded;
      parameters: Argument[];
      signatures: Record<ECPoint, Base64Encoded>;
    }
  >;
  network: Network;
};
```

## 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 build request. |
| `10008` | `RPC_ERROR` | The RPC server returned an error.                |

## Example

### Request

```js
const context = await provider.makeTransaction(
  [
    {
      hash: "0xd2a4cff31913016155e38e474a2c06d08be276cf",
      operation: "transfer",
      args: [
        { type: "Hash160", value: "0x9a7c5085dcdd4adf9ec12f2d1a7d6b741ad4b20a" },
        { type: "Hash160", value: "0x79f3ac32a7b68280da5cf4207139c7349261f7bd" },
        { type: "Integer", value: "200000" },
        { type: "Any" },
      ],
    },
  ],
  [
    {
      account: "0x9a7c5085dcdd4adf9ec12f2d1a7d6b741ad4b20a",
      scopes: "CalledByEntry",
    },
  ],
  [],
  {
    extraSystemFee: "10000",
    suggestedSystemFee: "1000000",
  },
);
```

### Response

```js
{
  type: 'Neo.Network.P2P.Payloads.Transaction',
  hash: '9ec26f10d2da8d4dc6ddf68893318660ed234e9d5173ddb146fe955067c17a8d',
  data: 'AJ80ThdAQg8AAAAAAHCTAAAAAAAAdmjmAAEKstQadGt9Gi0vwZ7fSt3chVB8mgEAWgsCQA0DAAwUvfdhkjTHOXEg9FzagIK2pzKs83kMFAqy1Bp0a30aLS/Bnt9K3dyFUHyaFMAfDAh0cmFuc2ZlcgwUz3bii9AGLEpHjuNVYQETGfPPpNJBYn1bUgA=',
  items: {
    '9a7c5085dcdd4adf9ec12f2d1a7d6b741ad4b20a': {
      script: '',
      parameters: [],
      signatures: {}
    }
  },
  network: 894710606
}
```
