> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Native Token

Send native tokens (ETH, MATIC, BNB, AVAX, etc.) to another wallet address. Simple value transfer without contract calls. Validates balance including gas costs. Ideal for: payments, gas refills, native token distribution, automated payouts.

![Send Native Token logo](https://ai-icon.b3.fun/logo/ethereum)
Catalog action EVM Onchain wallet Gas send

Send native tokens (ETH, MATIC, BNB, AVAX, etc.) to another wallet address. Simple value transfer without contract calls. Validates balance including gas costs. Ideal for: payments, gas refills, native token distribution, automated payouts.

**Review wallet and value movement**

This action can require a wallet connector, gas, token movement, or an external side effect. Test with simulation or a controlled amount before using it in a live workflow.

## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `send-native-token` |
| Category | EVM Onchain |
| Connector | `wallet` |
| Requires gas | Yes |
| Funds movement | `send` |
| Tags | `blockchain`, `evm`, `native`, `token`, `transfer`, `eth`, `matic`, `bnb`, `send`, `payment` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `recipientAddress` | `string` | Yes | The recipient address |
| `amount` | `string` | Yes | Amount to send in wei as string \(e.g., "1000000000000000000" for 1 ETH\). Must be a positive integer. |
| `chainId` | `number` | Yes | Chain ID \(1=Ethereum, 137=Polygon, 56=BSC, 8453=Base, etc.\) |
| `gasLimit` | `string` | No | Optional gas limit override \(default: 21000 for simple transfers\) |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `status` | `string` | Yes | - |
| `transactionHash` | `string` | Yes | - |
| `blockNumber` | `number` | No | Block number where the transaction was confirmed |
| `recipient` | `string` | No | Recipient wallet address |
| `amount` | `string` | No | Amount transferred in wei |
| `amountFormatted` | `string` | No | Human-readable amount with decimals \(e.g., '1.5' instead of '1500000000000000000'\) |
| `chainId` | `number` | No | Chain ID where the transaction was executed |

## Examples

**Workflow node**

```json
{
  "type": "send-native-token",
  "payload": {
    "recipientAddress": "0x0000000000000000000000000000000000000000",
    "amount": "1000000",
    "chainId": 8453
  },
  "children": [],
  "connector": {
    "type": "wallet",
    "id": "conn_wallet"
  }
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/send-native-token/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "recipientAddress": "0x0000000000000000000000000000000000000000",
    "amount": "1000000",
    "chainId": 8453
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.