Disperse Native ETH
Batch send native ETH to multiple wallet addresses with source wallet privacy. Your funding wallet is unlinked from recipients - AnySpend's global address breaks the on-chain connection. Note: Recipients in the same batch ARE linked to each other (same disperse transaction). Use cases: (1) Private gas funding - fund wallets without revealing your source wallet, (2) Team wallet funding - distribute operational ETH to team member wallets, (3) Bot wallet refills - refuel trading bots without linking to your main wallet, (4) ETH airdrops - send ETH rewards to multiple community members atomically. Supports cross-chain: pay with any token on any chain, receive ETH on destination chain.
Catalog action EVM Onchain wallet Gas disperse
Batch send native ETH to multiple wallet addresses with source wallet privacy. Your funding wallet is unlinked from recipients - AnySpend's global address breaks the on-chain connection. Note: Recipients in the same batch ARE linked to each other (same disperse transaction). Use cases: (1) Private gas funding - fund wallets without revealing your source wallet, (2) Team wallet funding - distribute operational ETH to team member wallets, (3) Bot wallet refills - refuel trading bots without linking to your main wallet, (4) ETH airdrops - send ETH rewards to multiple community members atomically. Supports cross-chain: pay with any token on any chain, receive ETH on destination chain.
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 | anyspend-disperse-native-token |
| Category | EVM Onchain |
| Connector | wallet |
| Requires gas | Yes |
| Funds movement | disperse |
| Tags | anyspend, disperse, gas-funding, private-funding, batch-transfer, multi-send, eth, native-token, airdrop, distribution, gas-refill, wallet-funding |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
srcChainId | number | Yes | Source chain ID where your funds are located. If different from dstChainId, AnySpend will handle the cross-chain transfer. |
srcTokenAddress | string | Yes | Token address to send from source chain. Use '0x0000000000000000000000000000000000000000' for native ETH, or any ERC20 token address (e.g., USDC). AnySpend will swap to native ETH on destination. |
dstChainId | number | Yes | Destination chain ID where ETH will be dispersed. Must have Disperse contract deployed. Currently supports Base (8453). |
recipients | array | Yes | Array of wallet addresses to receive ETH. Each address will receive the corresponding amount from the amounts array. Addresses must be valid Ethereum addresses (0x + 40 hex chars). Example: ['0x1234...', '0x5678...'] for funding two wallets. |
amounts | array | Yes | Array of ETH amounts to send to each recipient, specified in wei (1 ETH = 10^18 wei). Must have the same length as recipients array. Each amount corresponds to the recipient at the same index. Examples: '10000000000000000' = 0.01 ETH, '100000000000000000' = 0.1 ETH, '1000000000000000000' = 1 ETH. For gas funding, typical amounts are 0.001-0.01 ETH per wallet. |
partnerId | string | No | Optional partner ID for AnySpend attribution and analytics tracking. |
clientReferenceId | string | No | Optional client reference ID for your own tracking purposes. Useful for correlating with internal systems. |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | Whether the disperse operation completed successfully. True means all recipients received their ETH. |
order | object | No | The AnySpend order that processed the disperse. Contains tracking information. |
disperseDetails | object | No | Details about the disperse distribution. |
transaction | object | No | Details of the funding transaction from user wallet to AnySpend. |
message | string | No | Human-readable status message describing the outcome. |
Examples
json{ "type": "anyspend-disperse-native-token", "payload": { "srcChainId": 8453, "srcTokenAddress": "0x0000000000000000000000000000000000000000", "dstChainId": 8453, "recipients": "0x0000000000000000000000000000000000000000", "amounts": "1000000" }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/anyspend-disperse-native-token/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "srcChainId": 8453, "srcTokenAddress": "0x0000000000000000000000000000000000000000", "dstChainId": 8453, "recipients": "0x0000000000000000000000000000000000000000", "amounts": "1000000" }}'
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.
