Transactions

Sign a transaction without broadcasting

Signs a transaction inside the server (or TEE when using Shroud) but does not broadcast it. The caller receives the raw signed_tx hex and tx_hash so it can submit to any RPC of its choosing.

All agent guardrails (allowlists, value caps, daily limits) are enforced exactly as for the submit endpoint. The signed transaction is recorded for audit and daily-limit tracking with status: "sign_only".

post/v1/agents/{agent_id}/transactions/sign

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/agents/{agent_id}/transactions/sign
  • Auth: HTTP bearer

Path parameters

agent_idstring uuid required

Request body

tostring required

Destination address (0x-prefixed)

valuestring required

Value in ETH

chainstring required

Chain name or numeric ID

datastring

Hex-encoded calldata

signing_key_pathstring

Vault path to signing key. Auto-resolves per-chain signing key if provisioned, otherwise keys/{chain}-signer.

nonceinteger
gas_pricestring
gas_limitinteger
max_fee_per_gasstring
max_priority_fee_per_gasstring
simulate_firstboolean
destination_taginteger

Non-EVM (XRP): destination tag for exchange deposits

memostring

Non-EVM (XRP, Solana): optional memo

fee_rate_sat_per_vbyteinteger

Non-EVM (Bitcoin): override the fetched fee rate (sat/vByte)

fee_limit_suninteger

Non-EVM (Tron): TRC-20 energy fee limit in sun

token_mintstring

Non-EVM (Solana SPL / Tron TRC-20): token mint or contract address; omit for native transfer

token_decimalsinteger

Non-EVM (Solana, Tron): token decimals (default 6)

ttlinteger

Non-EVM (Cardano): transaction time-to-live (absolute slot)

xrpl_tx_jsonobject

Raw XRPL transaction JSON for full transaction type coverage. When present (and chain is XRP), the handler uses the xrpl-rust binary codec to encode and sign the transaction as-is. Supports all XRPL transaction types: Payment, TrustSet, OfferCreate, OfferCancel, AccountSet, EscrowCreate, NFTokenMint, AMMCreate, and 20+ more. Account, Sequence, Fee, LastLedgerSequence, and SigningPubKey are auto-filled when absent.

Response

Transaction signed successfully (not broadcast)

signed_txstring

Raw signed transaction hex (always included)

tx_hashstring
fromstring

Derived sender address

tostring
chainstring
chain_idinteger
nonceinteger
value_weistring
status'sign_only'
simulation_idstring
simulation_statusstring
max_fee_per_gasstring
max_priority_fee_per_gasstring

Changes

No recorded changes to this operation across all 2 revisions of this API.