sign_transaction
Signs EVM or Solana transactions with a wallet's private key and returns the signed payload without broadcasting; use when you need a signed transaction to submit elsewhere.
Instructions
Sign a transaction with a wallet's private key. For EVM: returns signed raw transaction hex. For Solana: returns base64 signed transaction. Does NOT broadcast. Use send_transaction for sign + broadcast. A signed transaction is a spend: under a spend policy it is checked, reserved on the ledger and counted against the budgets exactly as send_transaction is, because the caller can broadcast it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"wallet_id": "<wallet_id>",
"to": "<to>"
},
"name": "sign_transaction"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination address (0x-prefixed for EVM, Base58 for Solana) | |
| data | No | Hex-encoded calldata (0x-prefixed) for EVM contract calls | |
| value | No | Value in wei/lamports (decimal integer string; no hex, no decimals) | 0 |
| max_fee | No | Max fee per gas in wei — EVM only (auto if omitted) | |
| chain_id | No | Chain ID (defaults to wallet's default) | |
| gas_limit | No | Gas limit — EVM only (auto-estimated if omitted) | |
| wallet_id | Yes | Wallet ID | |
| token_mint | No | SPL token mint address — Solana only (for SPL token transfers) | |
| priority_fee | No | Max priority fee per gas in wei — EVM only (auto if omitted) | |
| token_decimals | No | SPL token decimals, Solana only (6 for USDC) |