Sign and Send
Sign and broadcast a transaction.Ethereum (EVM Chains)
Request:network(string): Network identifierrequest(object):toAddress(string): Recipient address (hex string)data(string): Calldata (hex string, use “0x” for transfers)value(string): Wei amount (string)gas(number, optional): Gas limit. If omitted, estimated automatically with a 25% buffer.maxFeePerGas(string, optional): Max fee per gas in wei. If omitted, estimated from current network conditions.maxPriorityFeePerGas(string, optional): Max priority fee per gas in wei. If omitted, estimated from current network conditions.enforceTransactionSuccess(boolean, optional): Iftrue(default), the transaction will be simulated before signing and rejected if simulation fails.
message(string, optional): Context message for logging (max 250 characters)expiresAt(string | null, optional): ISO 8601 timestamp. In manual mode, the suggestion expires at this time. If omitted, no time-based expiry is set (suggestions are auto-cleared at eachrunstart).waitForConfirmation(boolean, optional): EVM only. The SDK polls a public RPC for the transaction receipt after broadcast and returnssuccess: falseif the transaction reverted onchain. Set tofalseto skip receipt polling and return immediately after broadcast. Defaults totrue.
Solana
Request:network(string): “solana”request(object):hexTransaction(string): Serialized VersionedTransaction as hex string
success(boolean): Whether the transaction was signed and broadcastdata.txHash/data.tx_hash(string): Transaction hash (on success)data.transactionUrl/data.transaction_url(string, optional): Explorer link (on success)error(string | null): Error message (on failure)
Sign Message
Sign a message on an EVM network (EIP-712 or EIP-191).network(string): “ethereum:chainId” for EVM networksrequest(object):messageType(string): “eip712” or “eip191”chainId(number): Ethereum chain IDdata(object): Message data structure- For EIP-712:
{ domain, types, primaryType, message } - For EIP-191:
{ message }(plain text)
- For EIP-712:
success(boolean): Whether the message was signeddata(object): Signature data (on success)v(number): Signature v componentr(string): Signature r component (hex)s(string): Signature s component (hex)formattedSignature(string): Complete signature (hex)type(string): Always “evm”
error(string | null): Error message (on failure)
Notes
signMessageis EVM-only. Solana message signing is not supported.- Gas estimation: When
gas,maxFeePerGas, andmaxPriorityFeePerGasare omitted, the execution layer estimates them automatically. Gas limits include a 25% buffer over the simulation estimate. enforceTransactionSuccessdefaults totrue. Set tofalseonly if you expect the transaction to revert in simulation but still want to submit it (rare).waitForConfirmation(defaulttrue) polls a public RPC for the transaction receipt (up to 30 seconds). If the transaction reverts onchain, the response returnssuccess: falsewith an error. Set tofalsewhen you don’t need to wait for confirmation — for example, fire-and-forget transactions where you’ll check the result later.
See Also
- Yield Agent Example — Full working agent using
signAndSendfor Aave deposits - Quick Reference — Network identifiers and native token addresses
- Suggestions — Control suggestion expiry with
expiresAtin manual mode