Send SOL logo

Catalog action Solana Onchain wallet send

Send native SOL to another wallet address on Solana. Simple value transfer using SystemProgram. Validates addresses and prevents self-transfers. Ideal for: payments, SOL distribution, funding accounts, automated payouts on Solana.

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

FieldValue
Action IDsend-sol
CategorySolana Onchain
Connectorwallet
Requires gasNo
Funds movementsend
Tagsblockchain, solana, native, transfer, sol, send, payment, write

Payload Schema

FieldTypeRequiredDescription
recipientAddressstringYesThe Solana wallet address to send SOL to. Must be a regular Solana wallet. Program addresses and placeholders are rejected.
amountstringNoAmount of SOL to send in human-readable format (e.g., "1.5" for 1.5 SOL). Supports up to 9 decimal places.
rawAmountstringNoRaw amount in lamports (alternative to 'amount'). If provided, 'amount' is ignored.
chainIdnumberYesSolana network (Mainnet or Devnet)

Result Schema

FieldTypeRequiredDescription
statusstringYes-
signaturestringYesTransaction signature (base58 encoded)
transactionHashstringYesTransaction signature (aliased as transactionHash for workflow engine audit trail compatibility — the Go-side extractIndexedTransactionHashes looks for this key)
slotnumberNoSlot number where the transaction was confirmed
recipientstringNoRecipient wallet address
amountstringNoAmount transferred in lamports
formattedAmountstringNoHuman-readable amount in SOL (e.g., '1.5' instead of '1500000000')
amountFormattedstringNoHuman-readable amount in SOL (alias of formattedAmount for backward compatibility)
decimalsnumberNoNumber of decimal places (always 9 for SOL)
chainIdnumberNoChain ID where the transaction was executed

Examples

json
{ "type": "send-sol", "payload": { "recipientAddress": "11111111111111111111111111111111", "chainId": 7565164, "amount": "1" }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}

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.