> ## 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.

# Token Sent

Triggers when tokens leave a wallet address. Filter by recipient, specific token, or minimum amount.

Trigger Onchain

Triggers when tokens leave a wallet address. Filter by recipient, specific token, or minimum amount.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `erc20-send` |
| Category | Onchain |
| Tags | `erc20`, `token`, `transfer`, `send`, `withdrawal`, `blockchain`, `evm`, `wallet` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `chainId` | `integer` | Yes | Chain ID to monitor \(e.g., 1 for Ethereum, 42161 for Arbitrum, 8453 for Base\) |
| `fromAddress` | `string` | Yes | The address sending tokens \(the wallet to monitor\) |
| `tokenAddress` | `string` | No | Optional: specific token contract address. If omitted, triggers on any ERC-20 token. |
| `toAddress` | `string` | No | Optional: filter by recipient address |
| `minAmount` | `string` | No | Optional: minimum transfer amount in wei \(token's smallest unit\) |
| `enrichments` | `array` | No | Additional data to include with each event. Each enrichment adds an RPC call \(and sometimes a price lookup\) per trigger. |
| `enrichmentFilter` | `object` | No | Filter applied to enrichment results. Only fires when enriched data matches. Same syntax as event filter \($and/$or with $eq, $gt, $gte, $lt, $lte, $in, etc.\). |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the transfer was detected \(UTC, RFC3339 format\) |
| `params` | `object` | Yes | Decoded transfer parameters |
| `raw` | `object` | Yes | Raw EVM log data including address, topics, data, blockNumber, transactionHash, etc. |
| `enrichments` | `object` | No | Additional data from opt-in enrichments. Only populated when the corresponding enrichment is enabled. |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "erc20-send",
      "payload": {
        "chainId": 8453,
        "fromAddress": "0x0000000000000000000000000000000000000000"
      },
      "children": [
        "log_event"
      ]
    },
    "log_event": {
      "type": "log",
      "payload": {
        "message": "Triggered at {{$trigger.triggeredAt}}"
      },
      "children": []
    }
  }
}
```

**Reference trigger output**

Downstream nodes can use `{{$trigger.triggeredAt}}` and any result fields listed above. Event triggers usually expose the raw source payload under a field such as `event`, `body`, `trade`, or `raw`.