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

# send

Sends an asset from one account to another and returns the transaction hash.

## Parameters

#### 1. asset *(required)*

`UInt160`

Asset or token contract hash.

#### 2. from *(required)*

`UInt160`

Sender account script hash.

#### 3. to *(required)*

`UInt160`

Receiver account script hash.

#### 4. amount *(required)*

`Integer`

Amount to transfer.

#### 5. data *(optional)*

`Argument`

Additional transfer data passed to the contract.

## Returns

`Promise<UInt256>`

The relayed transaction hash.

## Errors

| Code    | Name                 | Description                                        |
| ------- | -------------------- | -------------------------------------------------- |
| `10002` | `INVALID`            | One or more inputs are invalid.                    |
| `10003` | `NOTFOUND`           | The requested account or asset cannot be found.    |
| `10004` | `FAILED`             | Contract execution failed.                         |
| `10005` | `TIMEOUT`            | The request timed out.                             |
| `10006` | `CANCELED`           | The user rejected the transfer.                    |
| `10007` | `INSUFFICIENT_FUNDS` | The selected account does not have enough balance. |
| `10008` | `RPC_ERROR`          | The RPC server returned an error.                  |

## Example

### Request

```js
const txid = await provider.send(
  "0xd2a4cff31913016155e38e474a2c06d08be276cf",
  "0x9a7c5085dcdd4adf9ec12f2d1a7d6b741ad4b20a",
  "0x79f3ac32a7b68280da5cf4207139c7349261f7bd",
  "1",
  {
    type: "String",
    value: "neoline",
  },
);
```

### Response

```js
"0x1f4d1defa46faa5e7b9b8d3f79a06bec777d7c26c4aa5f6f5899a291daa87c15"
```
