---
title: "Create RPC intent"
method: POST
path: "/v1/intents/wallets/{wallet_id}/rpc"
tags: ["Intents"]
---

# Create RPC intent

`POST /v1/intents/wallets/{wallet_id}/rpc`

Create an intent to execute an RPC method on a wallet. The intent must be authorized by either the wallet owner or signers before it can be executed.

## Path parameters

- `wallet_id` string, required — ID of the wallet.

## Headers

- `privy-app-id` string, required — ID of your Privy app.
- `privy-request-expiry` string — Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

## Request body

- union — Request body for wallet RPC operations, discriminated by method.
  - object — Executes the EVM `eth_signTransaction` RPC to sign a transaction.
    - `address` string
    - `chain_type` 'ethereum'
    - `method` 'eth_signTransaction', required
    - `params` EthereumSignTransactionRpcInputParams, required — Parameters for the EVM `eth_signTransaction` RPC.
      - `transaction` union, required — An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
        - object — An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
          - `authorization_list` EthereumSign7702Authorization[]
            - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `contract` string, required
            - `nonce` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `r` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `s` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `y_parity` number, required
          - `chain_id` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
          - `from` string
          - `gas_limit` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `gas_price` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_priority_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `to` string
          - `type` union
            - 0
            - 1
            - 2
            - 4
          - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
        - object — An unsigned Tempo transaction (type 118) with batched calls.
          - `aa_authorization_list` TempoAAAuthorization[]
            - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `contract` string, required
            - `nonce` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `signature` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
          - `access_list` AccessListEntry[]
            - `address` string, required
            - `storage_keys` Hex[], required
          - `calls` TempoCall[], required
            - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `to` string, required
            - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
          - `chain_id` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `fee_payer_signature` TempoFeePayerSignature — A fee payer signature for sponsored Tempo transactions (secp256k1 only).
            - `r` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `s` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `y_parity` union, required
              - …
          - `fee_token` string
          - `from` string
          - `gas_limit` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_priority_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce_key` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `type` 118, required
          - `valid_after` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `valid_before` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
    - `wallet_id` string
  - object — Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
    - `address` string
    - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `chain_type` 'ethereum'
    - `experimental_data_suffix` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
    - `method` 'eth_sendTransaction', required
    - `params` EthereumSendTransactionRpcInputParams, required — Parameters for the EVM `eth_sendTransaction` RPC.
      - `transaction` union, required — An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
        - object — An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
          - `authorization_list` EthereumSign7702Authorization[]
            - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `contract` string, required
            - `nonce` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `r` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `s` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `y_parity` number, required
          - `chain_id` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
          - `from` string
          - `gas_limit` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `gas_price` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_priority_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `to` string
          - `type` union
            - 0
            - 1
            - 2
            - 4
          - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
        - object — An unsigned Tempo transaction (type 118) with batched calls.
          - `aa_authorization_list` TempoAAAuthorization[]
            - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `contract` string, required
            - `nonce` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `signature` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
          - `access_list` AccessListEntry[]
            - `address` string, required
            - `storage_keys` Hex[], required
          - `calls` TempoCall[], required
            - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `to` string, required
            - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
          - `chain_id` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `fee_payer_signature` TempoFeePayerSignature — A fee payer signature for sponsored Tempo transactions (secp256k1 only).
            - `r` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `s` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `y_parity` union, required
              - …
          - `fee_token` string
          - `from` string
          - `gas_limit` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `max_priority_fee_per_gas` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `nonce_key` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `type` 118, required
          - `valid_after` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `valid_before` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
    - `reference_id` string
    - `sponsor` boolean
    - `wallet_id` string
  - object — Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
    - `address` string
    - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `chain_type` 'ethereum'
    - `method` 'personal_sign', required
    - `params` EthereumPersonalSignRpcInputParams, required — Parameters for the EVM `personal_sign` RPC.
      - `encoding` union, required
        - 'utf-8'
        - 'hex'
      - `message` string, required
    - `signature_options` SignatureOptions — Options controlling signature production for personal_sign and eth_signTypedData_v4.
      - `type` 'ecdsa' | 'erc1271', required — The type of cryptographic signature to produce. Use "ecdsa" for standard ECDSA signatures, or "erc1271" for ERC-1271 compliant signatures for smart account wallets.
    - `wallet_id` string
  - object — Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data object.
    - `address` string
    - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `chain_type` 'ethereum'
    - `method` 'eth_signTypedData_v4', required
    - `params` EthereumSignTypedDataRpcInputParams, required — Parameters for the EVM `eth_signTypedData_v4` RPC.
      - `typed_data` EthereumTypedDataInput, required — EIP-712 typed data object.
        - `domain` TypedDataDomainInputParams, required — The domain parameters for EIP-712 typed data signing.
        - `message` object, required
        - `primary_type` string, required
        - `types` TypedDataTypesInputParams, required — The type definitions for EIP-712 typed data signing.
    - `signature_options` SignatureOptions — Options controlling signature production for personal_sign and eth_signTypedData_v4.
      - `type` 'ecdsa' | 'erc1271', required — The type of cryptographic signature to produce. Use "ecdsa" for standard ECDSA signatures, or "erc1271" for ERC-1271 compliant signatures for smart account wallets.
    - `wallet_id` string
  - object — Signs a raw hash on the secp256k1 curve.
    - `address` string
    - `chain_type` 'ethereum'
    - `method` 'secp256k1_sign', required
    - `params` EthereumSecp256k1SignRpcInputParams, required — Parameters for the EVM `secp256k1_sign` RPC.
      - `hash` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
    - `wallet_id` string
  - object — Signs an EIP-7702 authorization.
    - `address` string
    - `chain_type` 'ethereum'
    - `method` 'eth_sign7702Authorization', required
    - `params` EthereumSign7702AuthorizationRpcInputParams, required — Parameters for the EVM `eth_sign7702Authorization` RPC.
      - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
        - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - integer
      - `contract` string, required
      - `executor` 'self'
      - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
        - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - integer
    - `wallet_id` string
  - object — Executes an RPC method to hash and sign a UserOperation.
    - `address` string
    - `chain_type` 'ethereum'
    - `method` 'eth_signUserOperation', required
    - `params` EthereumSignUserOperationRpcInputParams, required — Parameters for the EVM `eth_signUserOperation` RPC.
      - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
        - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - integer
      - `contract` string, required
      - `user_operation` UserOperationInput, required — An ERC-4337 user operation.
        - `call_data` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `call_gas_limit` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `max_fee_per_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `max_priority_fee_per_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `nonce` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `paymaster` string
        - `paymaster_data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `paymaster_post_op_gas_limit` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `paymaster_verification_gas_limit` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `pre_verification_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `sender` string, required
        - `verification_gas_limit` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
    - `wallet_id` string
  - object — Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a single atomic transaction.
    - `address` string
    - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `chain_type` 'ethereum'
    - `experimental_data_suffix` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
    - `method` 'wallet_sendCalls', required
    - `params` EthereumSendCallsRpcInputParams, required — Parameters for the `wallet_sendCalls` RPC.
      - `calls` EthereumSendCallsCall[], required
        - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `to` string, required
        - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
          - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
          - integer
    - `sponsor` boolean
    - `wallet_id` string
  - object — Executes the SVM `signTransaction` RPC to sign a transaction.
    - `address` string
    - `chain_type` 'solana'
    - `method` 'signTransaction', required
    - `params` SolanaSignTransactionRpcInputParams, required — Parameters for the SVM `signTransaction` RPC.
      - `encoding` 'base64', required
      - `transaction` string, required
    - `wallet_id` string
  - object — Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a transaction.
    - `address` string
    - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `chain_type` 'solana'
    - `method` 'signAndSendTransaction', required
    - `optimistic_broadcast` boolean
    - `params` SolanaSignAndSendTransactionRpcInputParams, required — Parameters for the SVM `signAndSendTransaction` RPC.
      - `encoding` 'base64', required
      - `transaction` string, required
    - `reference_id` string
    - `sponsor` boolean
    - `wallet_id` string
  - object — Executes the SVM `signMessage` RPC to sign a message.
    - `address` string
    - `chain_type` 'solana'
    - `method` 'signMessage', required
    - `params` SolanaSignMessageRpcInputParams, required — Parameters for the SVM `signMessage` RPC.
      - `encoding` 'base64', required
      - `message` string, required
    - `wallet_id` string
  - object — Transfers satoshis to a Spark address.
    - `method` 'transfer', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkTransferRpcInputParams, required — Parameters for the Spark `transfer` RPC.
      - `amount_sats` number, required
      - `receiver_spark_address` string, required
  - object — Gets the balance of the Spark wallet.
    - `method` 'getBalance', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
  - object — Transfers tokens to a Spark address.
    - `method` 'transferTokens', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkTransferTokensRpcInputParams, required — Parameters for the Spark `transferTokens` RPC.
      - `output_selection_strategy` 'SMALL_FIRST' | 'LARGE_FIRST' — Strategy for selecting outputs in a Spark token transfer.
      - `receiver_spark_address` string, required
      - `selected_outputs` OutputWithPreviousTransactionData[]
        - `output` TokenOutput — A Spark token output.
          - `id` string
          - `owner_public_key` string, required
          - `revocation_commitment` string
          - `token_amount` string, required
          - `token_identifier` string
          - `token_public_key` string
          - `withdraw_bond_sats` number
          - `withdraw_relative_block_locktime` number
        - `previous_transaction_hash` string, required
        - `previous_transaction_vout` number, required
      - `token_amount` number, required
      - `token_identifier` string, required
  - object — Gets a static deposit address for the Spark wallet.
    - `method` 'getStaticDepositAddress', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
  - object — Gets a quote for claiming a static deposit.
    - `method` 'getClaimStaticDepositQuote', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkGetClaimStaticDepositQuoteRpcInputParams, required — Parameters for the Spark `getClaimStaticDepositQuote` RPC.
      - `output_index` number
      - `transaction_id` string, required
  - object — Claims a static deposit into the Spark wallet.
    - `method` 'claimStaticDeposit', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkClaimStaticDepositRpcInputParams, required — Parameters for the Spark `claimStaticDeposit` RPC.
      - `credit_amount_sats` number, required
      - `output_index` number
      - `signature` string, required
      - `transaction_id` string, required
  - object — Creates a Lightning invoice for the Spark wallet.
    - `method` 'createLightningInvoice', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkCreateLightningInvoiceRpcInputParams, required — Parameters for the Spark `createLightningInvoice` RPC.
      - `amount_sats` number, required
      - `description_hash` string
      - `expiry_seconds` number
      - `include_spark_address` boolean
      - `memo` string
      - `receiver_identity_pubkey` string
  - object — Pays a Lightning invoice from the Spark wallet.
    - `method` 'payLightningInvoice', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkPayLightningInvoiceRpcInputParams, required — Parameters for the Spark `payLightningInvoice` RPC.
      - `amount_sats_to_send` number
      - `invoice` string, required
      - `max_fee_sats` number, required
      - `prefer_spark` boolean
  - object — Signs a message with the Spark identity key.
    - `method` 'signMessageWithIdentityKey', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkSignMessageWithIdentityKeyRpcInputParams, required — Parameters for the Spark `signMessageWithIdentityKey` RPC.
      - `compact` boolean
      - `message` string, required
  - object — Withdraws from Spark to a Bitcoin L1 address (cooperative exit).
    - `method` 'withdraw', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkWithdrawRpcInputParams, required — Parameters for the Spark `withdraw` RPC.
      - `amount_sats` number
      - `deduct_fee_from_withdrawal_amount` boolean
      - `exit_speed` 'FAST' | 'MEDIUM' | 'SLOW', required — The exit speed for a cooperative withdrawal from Spark to L1.
      - `fee_amount_sats` number
      - `fee_quote_id` string
      - `onchain_address` string, required
  - object — Gets a fee quote for withdrawing from Spark to a Bitcoin L1 address.
    - `method` 'getWithdrawalFeeQuote', required
    - `network` 'MAINNET' | 'REGTEST' — The Spark network.
    - `params` SparkGetWithdrawalFeeQuoteRpcInputParams, required — Parameters for the Spark `getWithdrawalFeeQuote` RPC.
      - `amount_sats` number, required
      - `onchain_address` string, required
  - object — Executes the Tron `tron_signTransaction` RPC to sign a transaction. The caller is responsible for broadcasting.
    - `method` 'tron_signTransaction', required
    - `params` TronSignTransactionRpcInputParams, required — Parameters for the Tron `tron_signTransaction` RPC.
      - `raw_data` TronRawDataForSign, required — Tron raw_data for tron_signTransaction. Block reference fields are required; caller is responsible for fetching them.
        - `contract` TronContract[], required
          - union — A Tron contract, discriminated by type. Supported types: TransferContract, TriggerSmartContract.
            - object — Tron native TRX transfer contract.
              - …
            - object — Tron smart contract call (TRC-20 transfers and general contract interactions).
              - …
        - `data` string
        - `expiration` integer, required
        - `fee_limit` integer
        - `ref_block_bytes` string, required
        - `ref_block_hash` string, required
        - `timestamp` integer
  - object — Executes the Tron `tron_sendTransaction` RPC to sign and broadcast a transaction.
    - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
    - `method` 'tron_sendTransaction', required
    - `params` TronSendTransactionRpcInputParams, required — Parameters for the Tron `tron_sendTransaction` RPC.
      - `raw_data` TronRawDataForSend, required — Tron raw_data for tron_sendTransaction. Block reference fields are optional; Privy fetches fresh values if omitted.
        - `contract` TronContract[], required
          - union — A Tron contract, discriminated by type. Supported types: TransferContract, TriggerSmartContract.
            - object — Tron native TRX transfer contract.
              - …
            - object — Tron smart contract call (TRC-20 transfers and general contract interactions).
              - …
        - `data` string
        - `expiration` integer
        - `fee_limit` integer
        - `ref_block_bytes` string
        - `ref_block_hash` string
        - `timestamp` integer
      - `reference_id` string
  - object — Exports the private key of the wallet.
    - `address` string, required
    - `method` 'exportPrivateKey', required
    - `params` PrivateKeyExportInput, required — Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
      - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
      - `export_seed_phrase` boolean
      - `export_type` 'display' | 'client' — The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
      - `recipient_public_key` union, required — The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
        - string
        - string
  - object — Exports the seed phrase of the wallet.
    - `address` string, required
    - `method` 'exportSeedPhrase', required
    - `params` SeedPhraseExportInput, required — Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
      - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
      - `export_seed_phrase` boolean
      - `export_type` 'display' | 'client' — The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
      - `recipient_public_key` union, required — The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
        - string
        - string

## Response `200`

Created RPC intent.

- RpcIntentResponse — Response for an RPC intent
  - `authorization_details` IntentAuthorization[], required — Detailed authorization information including key quorum members, thresholds, and signature status
    - `display_name` string — Display name of the key quorum
    - `members` IntentAuthorizationMember[], required — Members in this authorization quorum
      - union — A member of an intent authorization quorum. Can be a user, key, or nested key quorum.
        - object — A user member of an intent authorization quorum.
          - `signed_at` number, nullable, required — Unix timestamp when this member signed, or null if not yet signed.
          - `type` 'user', required
          - `user_id` string, required — User ID of the key quorum member
        - object — A key member of an intent authorization quorum.
          - `public_key` string, required — Public key of the key quorum member
          - `signed_at` number, nullable, required — Unix timestamp when this member signed, or null if not yet signed.
          - `type` 'key', required
        - object — A nested key quorum member of an intent authorization quorum.
          - `display_name` string — Display name for the child key quorum (if any)
          - `key_quorum_id` string, required — ID of the child key quorum member
          - `members` IntentAuthorizationKeyQuorumMember[], required — Members of this child quorum
            - union — A leaf member (user or key) of a nested key quorum in an intent authorization.
              - …
          - `threshold` number, required — Number of signatures required from this child quorum
          - `threshold_met` boolean, required — Whether this child key quorum has met its signature threshold
          - `type` 'key_quorum', required
    - `threshold` number, required — Number of signatures required to satisfy this quorum
  - `created_at` number, required — Unix timestamp when the intent was created
  - `created_by_display_name` string, required — Display name of the user who created the intent
  - `created_by_id` string — ID of the user who created the intent. If undefined, the intent was created using the app secret
  - `custom_expiry` boolean, required — Whether this intent has a custom expiry time set by the client. If false, the intent expires after a default duration.
  - `dismissal_reason` string — Human-readable reason for dismissal, present when status is 'dismissed'
  - `dismissed_at` number — Unix timestamp when the intent was dismissed, present when status is 'dismissed'
  - `expires_at` number, required — Unix timestamp when the intent expires
  - `intent_id` string, required — Unique ID for the intent
  - `rejected_at` number — Unix timestamp when the intent was rejected, present when status is 'rejected'
  - `resource_id` string, required — ID of the resource being modified (wallet_id, policy_id, etc)
  - `status` 'pending' | 'processing' | 'executed' | 'failed' | 'expired' | 'rejected' | 'dismissed', required — Current status of an intent.
  - `action_result` object — Result of RPC execution (only present if status is 'executed' or 'failed')
    - `authorized_by_display_name` string — Display name of the key quorum that authorized execution
    - `authorized_by_id` string — ID of the key quorum that authorized execution
    - `executed_at` number, required — Unix timestamp when the action was executed
    - `status_code` number, required — HTTP status code from the action execution
    - `response_body` union, required — Response body for wallet RPC operations, discriminated by method.
      - object — Response to the EVM `personal_sign` RPC.
        - `data` EthereumPersonalSignRpcResponseData, required — Data returned by the EVM `personal_sign` RPC.
          - `encoding` 'hex', required
          - `signature` string, required
        - `method` 'personal_sign', required
      - object — Response to the EVM `eth_signTypedData_v4` RPC.
        - `data` EthereumSignTypedDataRpcResponseData, required — Data returned by the EVM `eth_signTypedData_v4` RPC.
          - `encoding` 'hex', required
          - `signature` string, required
        - `method` 'eth_signTypedData_v4', required
      - object — Response to the EVM `eth_signTransaction` RPC.
        - `data` EthereumSignTransactionRpcResponseData, required — Data returned by the EVM `eth_signTransaction` RPC.
          - `encoding` 'rlp', required
          - `signed_transaction` string, required
        - `method` 'eth_signTransaction', required
      - object — Response to the EVM `eth_sendTransaction` RPC.
        - `data` EthereumSendTransactionRpcResponseData, required — Data returned by the EVM `eth_sendTransaction` RPC.
          - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
          - `hash` string, required
          - `reference_id` string, nullable
          - `transaction_id` string
          - `transaction_request` union — An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
            - object — An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
              - …
            - object — An unsigned Tempo transaction (type 118) with batched calls.
              - …
          - `user_operation_hash` string
        - `method` 'eth_sendTransaction', required
      - object — Response to the EVM `eth_signUserOperation` RPC.
        - `data` EthereumSignUserOperationRpcResponseData, required — Data returned by the EVM `eth_signUserOperation` RPC.
          - `encoding` 'hex', required
          - `signature` string, required
        - `method` 'eth_signUserOperation', required
      - object — Response to the EVM `eth_sign7702Authorization` RPC.
        - `data` EthereumSign7702AuthorizationRpcResponseData, required — Data returned by the EVM `eth_sign7702Authorization` RPC.
          - `authorization` EthereumSign7702Authorization, required — A signed EIP-7702 authorization that delegates code execution to a contract address.
            - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `contract` string, required
            - `nonce` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
            - `r` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `s` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `y_parity` number, required
        - `method` 'eth_sign7702Authorization', required
      - object — Response to the EVM `secp256k1_sign` RPC.
        - `data` EthereumSecp256k1SignRpcResponseData, required — Data returned by the EVM `secp256k1_sign` RPC.
          - `encoding` 'hex', required
          - `signature` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `method` 'secp256k1_sign', required
      - object — Response to the `wallet_sendCalls` RPC.
        - `data` EthereumSendCallsRpcResponseData, required — Data returned by the `wallet_sendCalls` RPC.
          - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
          - `transaction_id` string, required
        - `method` 'wallet_sendCalls', required
      - object — Response to the SVM `signMessage` RPC.
        - `data` SolanaSignMessageRpcResponseData, required — Data returned by the SVM `signMessage` RPC.
          - `encoding` 'base64', required
          - `signature` string, required
        - `method` 'signMessage', required
      - object — Response to the SVM `signTransaction` RPC.
        - `data` SolanaSignTransactionRpcResponseData, required — Data returned by the SVM `signTransaction` RPC.
          - `encoding` 'base64', required
          - `signed_transaction` string, required
        - `method` 'signTransaction', required
      - object — Response to the SVM `signAndSendTransaction` RPC.
        - `data` SolanaSignAndSendTransactionRpcResponseData, required — Data returned by the SVM `signAndSendTransaction` RPC.
          - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
          - `hash` string, required
          - `reference_id` string, nullable
          - `signed_transaction` string
          - `transaction_id` string
        - `method` 'signAndSendTransaction', required
      - object — Response to the Spark `transfer` RPC.
        - `data` SparkTransfer — A Spark transfer.
          - `created_time` string
          - `expiry_time` string
          - `id` string, required
          - `leaves` SparkTransferLeaf[], required
            - `intermediate_refund_tx` string, required
            - `leaf` SparkWalletLeaf — A Spark wallet leaf node.
              - …
            - `secret_cipher` string, required
            - `signature` string, required
          - `receiver_identity_public_key` string, required
          - `sender_identity_public_key` string, required
          - `status` string, required
          - `total_value` number, required
          - `transfer_direction` string, required
          - `type` string, required
          - `updated_time` string
        - `method` 'transfer', required
      - object — Response to the Spark `getBalance` RPC.
        - `data` SparkBalance — The balance of a Spark wallet.
          - `balance` string, required
          - `token_balances` object, required
        - `method` 'getBalance', required
      - object — Response to the Spark `transferTokens` RPC.
        - `data` SparkTransferTokensRpcResponseData — Data returned by the Spark `transferTokens` RPC.
          - `id` string, required
        - `method` 'transferTokens', required
      - object — Response to the Spark `getStaticDepositAddress` RPC.
        - `data` SparkGetStaticDepositAddressRpcResponseData — Data returned by the Spark `getStaticDepositAddress` RPC.
          - `address` string, required
        - `method` 'getStaticDepositAddress', required
      - object — Response to the Spark `getClaimStaticDepositQuote` RPC.
        - `data` SparkGetClaimStaticDepositQuoteRpcResponseData — Data returned by the Spark `getClaimStaticDepositQuote` RPC.
          - `credit_amount_sats` number, required
          - `network` string, required
          - `output_index` number, required
          - `signature` string, required
          - `transaction_id` string, required
        - `method` 'getClaimStaticDepositQuote', required
      - object — Response to the Spark `claimStaticDeposit` RPC.
        - `data` SparkClaimStaticDepositRpcResponseData — Data returned by the Spark `claimStaticDeposit` RPC.
          - `transfer_id` string, required
        - `method` 'claimStaticDeposit', required
      - object — Response to the Spark `createLightningInvoice` RPC.
        - `data` SparkLightningReceiveRequest — A Spark Lightning receive request.
          - `created_at` string, required
          - `id` string, required
          - `invoice` unknown
          - `network` string, required
          - `payment_preimage` string
          - `receiver_identity_public_key` string
          - `status` string, required
          - `transfer` unknown
          - `typename` string, required
          - `updated_at` string, required
        - `method` 'createLightningInvoice', required
      - object — Response to the Spark `payLightningInvoice` RPC.
        - `data` union
          - SparkTransfer — A Spark transfer.
            - `created_time` string
            - `expiry_time` string
            - `id` string, required
            - `leaves` SparkTransferLeaf[], required
              - …
            - `receiver_identity_public_key` string, required
            - `sender_identity_public_key` string, required
            - `status` string, required
            - `total_value` number, required
            - `transfer_direction` string, required
            - `type` string, required
            - `updated_time` string
          - SparkLightningSendRequest — A Spark Lightning send request.
            - `created_at` string, required
            - `encoded_invoice` string, required
            - `fee` SparkLightningFee, required — The fee for a Spark Lightning payment.
              - …
            - `id` string, required
            - `idempotency_key` string, required
            - `network` string, required
            - `payment_preimage` string
            - `status` string, required
            - `transfer` unknown
            - `typename` string, required
            - `updated_at` string, required
        - `method` 'payLightningInvoice', required
      - object — Response to the Spark `signMessageWithIdentityKey` RPC.
        - `data` SparkSignMessageWithIdentityKeyRpcResponseData — Data returned by the Spark `signMessageWithIdentityKey` RPC.
          - `signature` string, required
        - `method` 'signMessageWithIdentityKey', required
      - object — Response to the Spark `withdraw` RPC.
        - `data` SparkCoopExitRequest — A cooperative exit request from Spark to Bitcoin L1.
          - `coop_exit_txid` string, required
          - `created_at` string, required
          - `exit_speed` 'FAST' | 'MEDIUM' | 'SLOW' — The exit speed for a cooperative withdrawal from Spark to L1.
          - `expires_at` string, required
          - `fee` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `fee_quote_id` string
          - `id` string, required
          - `l1_broadcast_fee` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `network` string, required
          - `status` string, required
          - `updated_at` string, required
        - `method` 'withdraw', required
      - object — Response to the Spark `getWithdrawalFeeQuote` RPC.
        - `data` SparkCoopExitFeeQuote — A fee quote for a cooperative exit from Spark to Bitcoin L1.
          - `created_at` string, required
          - `expires_at` string, required
          - `id` string, required
          - `l1_broadcast_fee_fast` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `l1_broadcast_fee_medium` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `l1_broadcast_fee_slow` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `network` string, required
          - `total_amount` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `updated_at` string, required
          - `user_fee_fast` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `user_fee_medium` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
          - `user_fee_slow` SparkCurrencyAmount, required — A currency amount with its original value and unit.
            - `original_unit` string, required
            - `original_value` number, required
        - `method` 'getWithdrawalFeeQuote', required
      - object — Response to the Tron `tron_signTransaction` RPC.
        - `data` TronSignTransactionRpcResponseData, required — Data returned by the Tron `tron_signTransaction` RPC.
          - `encoding` 'hex', required
          - `signed_transaction` string, required
        - `method` 'tron_signTransaction', required
      - object — Response to the Tron `tron_sendTransaction` RPC.
        - `data` TronSendTransactionRpcResponseData, required — Data returned by the Tron `tron_sendTransaction` RPC.
          - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
          - `hash` string, required
          - `reference_id` string
          - `transaction_id` string, required
        - `method` 'tron_sendTransaction', required
      - object — Response to the `exportPrivateKey` RPC.
        - `data` PrivateKeyExportInput, required — Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
          - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
          - `export_seed_phrase` boolean
          - `export_type` 'display' | 'client' — The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
          - `recipient_public_key` union, required — The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
            - string
            - string
        - `method` 'exportPrivateKey', required
      - object — Response to the `exportSeedPhrase` RPC.
        - `data` SeedPhraseExportResponse, required — Response containing HPKE-encrypted wallet data (private key or seed phrase).
          - `ciphertext` string, required
          - `encapsulated_key` string, required
          - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
        - `method` 'exportSeedPhrase', required
  - `current_resource_data` object — Current state of the wallet before any changes. If undefined, the resource was deleted and no longer exists
    - `additional_signers` WalletAdditionalSignerItem[], required — Additional signers for the wallet.
      - `override_policy_ids` string[] — An optional list of up to one policy ID to enforce on the wallet.
      - `signer_id` string, cuid2, required — A unique identifier for a key quorum.
    - `address` string, required — Address of the wallet.
    - `archived_at` number, nullable — Unix timestamp of when the wallet was archived in milliseconds, or null if the wallet is active.
    - `authorization_threshold` number — The number of keys that must sign for an action to be valid.
    - `chain_type` 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark', required — The wallet chain types.
    - `created_at` number, required — Unix timestamp of when the wallet was created in milliseconds.
    - `custody` WalletCustodian — Information about the custodian managing this wallet.
      - `provider` string, required — The custodian responsible for the wallet.
      - `provider_user_id` string, required — The resource ID of the beneficiary of the custodial wallet.
    - `display_name` string — A human-readable label for the wallet.
    - `exported_at` number, nullable, required — Unix timestamp of when the wallet was exported in milliseconds, if the wallet was exported.
    - `external_id` string — A customer-provided identifier for mapping to external systems. Write-once, set only at creation.
    - `id` string, required — Unique ID of the wallet. This will be the primary identifier when using the wallet in the future.
    - `imported_at` number, nullable, required — Unix timestamp of when the wallet was imported in milliseconds, if the wallet was imported.
    - `owner_id` string, cuid2, nullable, required — The key quorum ID of the owner of the wallet.
    - `policy_ids` string[], required — List of policy IDs for policies that are enforced on the wallet.
    - `public_key` string — The compressed, raw public key for the wallet along the chain cryptographic curve.
  - `intent_type` 'RPC', required
  - `request_details` object, required — The original RPC request that would be sent to the wallet endpoint
    - `body` union, required — Request body for wallet RPC operations, discriminated by method.
      - object — Executes the EVM `eth_signTransaction` RPC to sign a transaction.
        - `address` string
        - `chain_type` 'ethereum'
        - `method` 'eth_signTransaction', required
        - `params` EthereumSignTransactionRpcInputParams, required — Parameters for the EVM `eth_signTransaction` RPC.
          - `transaction` union, required — An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
            - object — An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
              - …
            - object — An unsigned Tempo transaction (type 118) with batched calls.
              - …
        - `wallet_id` string
      - object — Executes the EVM `eth_sendTransaction` RPC to sign and broadcast a transaction.
        - `address` string
        - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `chain_type` 'ethereum'
        - `experimental_data_suffix` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `method` 'eth_sendTransaction', required
        - `params` EthereumSendTransactionRpcInputParams, required — Parameters for the EVM `eth_sendTransaction` RPC.
          - `transaction` union, required — An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
            - object — An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
              - …
            - object — An unsigned Tempo transaction (type 118) with batched calls.
              - …
        - `reference_id` string
        - `sponsor` boolean
        - `wallet_id` string
      - object — Executes the EVM `personal_sign` RPC (EIP-191) to sign a message.
        - `address` string
        - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `chain_type` 'ethereum'
        - `method` 'personal_sign', required
        - `params` EthereumPersonalSignRpcInputParams, required — Parameters for the EVM `personal_sign` RPC.
          - `encoding` union, required
            - 'utf-8'
            - 'hex'
          - `message` string, required
        - `signature_options` SignatureOptions — Options controlling signature production for personal_sign and eth_signTypedData_v4.
          - `type` 'ecdsa' | 'erc1271', required — The type of cryptographic signature to produce. Use "ecdsa" for standard ECDSA signatures, or "erc1271" for ERC-1271 compliant signatures for smart account wallets.
        - `wallet_id` string
      - object — Executes the EVM `eth_signTypedData_v4` RPC (EIP-712) to sign a typed data object.
        - `address` string
        - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `chain_type` 'ethereum'
        - `method` 'eth_signTypedData_v4', required
        - `params` EthereumSignTypedDataRpcInputParams, required — Parameters for the EVM `eth_signTypedData_v4` RPC.
          - `typed_data` EthereumTypedDataInput, required — EIP-712 typed data object.
            - `domain` TypedDataDomainInputParams, required — The domain parameters for EIP-712 typed data signing.
            - `message` object, required
            - `primary_type` string, required
            - `types` TypedDataTypesInputParams, required — The type definitions for EIP-712 typed data signing.
        - `signature_options` SignatureOptions — Options controlling signature production for personal_sign and eth_signTypedData_v4.
          - `type` 'ecdsa' | 'erc1271', required — The type of cryptographic signature to produce. Use "ecdsa" for standard ECDSA signatures, or "erc1271" for ERC-1271 compliant signatures for smart account wallets.
        - `wallet_id` string
      - object — Signs a raw hash on the secp256k1 curve.
        - `address` string
        - `chain_type` 'ethereum'
        - `method` 'secp256k1_sign', required
        - `params` EthereumSecp256k1SignRpcInputParams, required — Parameters for the EVM `secp256k1_sign` RPC.
          - `hash` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `wallet_id` string
      - object — Signs an EIP-7702 authorization.
        - `address` string
        - `chain_type` 'ethereum'
        - `method` 'eth_sign7702Authorization', required
        - `params` EthereumSign7702AuthorizationRpcInputParams, required — Parameters for the EVM `eth_sign7702Authorization` RPC.
          - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `contract` string, required
          - `executor` 'self'
          - `nonce` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
        - `wallet_id` string
      - object — Executes an RPC method to hash and sign a UserOperation.
        - `address` string
        - `chain_type` 'ethereum'
        - `method` 'eth_signUserOperation', required
        - `params` EthereumSignUserOperationRpcInputParams, required — Parameters for the EVM `eth_signUserOperation` RPC.
          - `chain_id` union, required — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
            - string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - integer
          - `contract` string, required
          - `user_operation` UserOperationInput, required — An ERC-4337 user operation.
            - `call_data` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `call_gas_limit` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `max_fee_per_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `max_priority_fee_per_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `nonce` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `paymaster` string
            - `paymaster_data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `paymaster_post_op_gas_limit` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `paymaster_verification_gas_limit` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `pre_verification_gas` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `sender` string, required
            - `verification_gas_limit` string, required — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `wallet_id` string
      - object — Executes the `wallet_sendCalls` RPC (EIP-5792) to batch multiple calls into a single atomic transaction.
        - `address` string
        - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `chain_type` 'ethereum'
        - `experimental_data_suffix` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
        - `method` 'wallet_sendCalls', required
        - `params` EthereumSendCallsRpcInputParams, required — Parameters for the `wallet_sendCalls` RPC.
          - `calls` EthereumSendCallsCall[], required
            - `data` string — A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
            - `to` string, required
            - `value` union — A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
              - …
        - `sponsor` boolean
        - `wallet_id` string
      - object — Executes the SVM `signTransaction` RPC to sign a transaction.
        - `address` string
        - `chain_type` 'solana'
        - `method` 'signTransaction', required
        - `params` SolanaSignTransactionRpcInputParams, required — Parameters for the SVM `signTransaction` RPC.
          - `encoding` 'base64', required
          - `transaction` string, required
        - `wallet_id` string
      - object — Executes the SVM `signAndSendTransaction` RPC to sign and broadcast a transaction.
        - `address` string
        - `caip2` string, required — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `chain_type` 'solana'
        - `method` 'signAndSendTransaction', required
        - `optimistic_broadcast` boolean
        - `params` SolanaSignAndSendTransactionRpcInputParams, required — Parameters for the SVM `signAndSendTransaction` RPC.
          - `encoding` 'base64', required
          - `transaction` string, required
        - `reference_id` string
        - `sponsor` boolean
        - `wallet_id` string
      - object — Executes the SVM `signMessage` RPC to sign a message.
        - `address` string
        - `chain_type` 'solana'
        - `method` 'signMessage', required
        - `params` SolanaSignMessageRpcInputParams, required — Parameters for the SVM `signMessage` RPC.
          - `encoding` 'base64', required
          - `message` string, required
        - `wallet_id` string
      - object — Transfers satoshis to a Spark address.
        - `method` 'transfer', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkTransferRpcInputParams, required — Parameters for the Spark `transfer` RPC.
          - `amount_sats` number, required
          - `receiver_spark_address` string, required
      - object — Gets the balance of the Spark wallet.
        - `method` 'getBalance', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
      - object — Transfers tokens to a Spark address.
        - `method` 'transferTokens', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkTransferTokensRpcInputParams, required — Parameters for the Spark `transferTokens` RPC.
          - `output_selection_strategy` 'SMALL_FIRST' | 'LARGE_FIRST' — Strategy for selecting outputs in a Spark token transfer.
          - `receiver_spark_address` string, required
          - `selected_outputs` OutputWithPreviousTransactionData[]
            - `output` TokenOutput — A Spark token output.
              - …
            - `previous_transaction_hash` string, required
            - `previous_transaction_vout` number, required
          - `token_amount` number, required
          - `token_identifier` string, required
      - object — Gets a static deposit address for the Spark wallet.
        - `method` 'getStaticDepositAddress', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
      - object — Gets a quote for claiming a static deposit.
        - `method` 'getClaimStaticDepositQuote', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkGetClaimStaticDepositQuoteRpcInputParams, required — Parameters for the Spark `getClaimStaticDepositQuote` RPC.
          - `output_index` number
          - `transaction_id` string, required
      - object — Claims a static deposit into the Spark wallet.
        - `method` 'claimStaticDeposit', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkClaimStaticDepositRpcInputParams, required — Parameters for the Spark `claimStaticDeposit` RPC.
          - `credit_amount_sats` number, required
          - `output_index` number
          - `signature` string, required
          - `transaction_id` string, required
      - object — Creates a Lightning invoice for the Spark wallet.
        - `method` 'createLightningInvoice', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkCreateLightningInvoiceRpcInputParams, required — Parameters for the Spark `createLightningInvoice` RPC.
          - `amount_sats` number, required
          - `description_hash` string
          - `expiry_seconds` number
          - `include_spark_address` boolean
          - `memo` string
          - `receiver_identity_pubkey` string
      - object — Pays a Lightning invoice from the Spark wallet.
        - `method` 'payLightningInvoice', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkPayLightningInvoiceRpcInputParams, required — Parameters for the Spark `payLightningInvoice` RPC.
          - `amount_sats_to_send` number
          - `invoice` string, required
          - `max_fee_sats` number, required
          - `prefer_spark` boolean
      - object — Signs a message with the Spark identity key.
        - `method` 'signMessageWithIdentityKey', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkSignMessageWithIdentityKeyRpcInputParams, required — Parameters for the Spark `signMessageWithIdentityKey` RPC.
          - `compact` boolean
          - `message` string, required
      - object — Withdraws from Spark to a Bitcoin L1 address (cooperative exit).
        - `method` 'withdraw', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkWithdrawRpcInputParams, required — Parameters for the Spark `withdraw` RPC.
          - `amount_sats` number
          - `deduct_fee_from_withdrawal_amount` boolean
          - `exit_speed` 'FAST' | 'MEDIUM' | 'SLOW', required — The exit speed for a cooperative withdrawal from Spark to L1.
          - `fee_amount_sats` number
          - `fee_quote_id` string
          - `onchain_address` string, required
      - object — Gets a fee quote for withdrawing from Spark to a Bitcoin L1 address.
        - `method` 'getWithdrawalFeeQuote', required
        - `network` 'MAINNET' | 'REGTEST' — The Spark network.
        - `params` SparkGetWithdrawalFeeQuoteRpcInputParams, required — Parameters for the Spark `getWithdrawalFeeQuote` RPC.
          - `amount_sats` number, required
          - `onchain_address` string, required
      - object — Executes the Tron `tron_signTransaction` RPC to sign a transaction. The caller is responsible for broadcasting.
        - `method` 'tron_signTransaction', required
        - `params` TronSignTransactionRpcInputParams, required — Parameters for the Tron `tron_signTransaction` RPC.
          - `raw_data` TronRawDataForSign, required — Tron raw_data for tron_signTransaction. Block reference fields are required; caller is responsible for fetching them.
            - `contract` TronContract[], required
              - …
            - `data` string
            - `expiration` integer, required
            - `fee_limit` integer
            - `ref_block_bytes` string, required
            - `ref_block_hash` string, required
            - `timestamp` integer
      - object — Executes the Tron `tron_sendTransaction` RPC to sign and broadcast a transaction.
        - `caip2` string — A valid CAIP-2 chain ID (e.g. 'eip155:1').
        - `method` 'tron_sendTransaction', required
        - `params` TronSendTransactionRpcInputParams, required — Parameters for the Tron `tron_sendTransaction` RPC.
          - `raw_data` TronRawDataForSend, required — Tron raw_data for tron_sendTransaction. Block reference fields are optional; Privy fetches fresh values if omitted.
            - `contract` TronContract[], required
              - …
            - `data` string
            - `expiration` integer
            - `fee_limit` integer
            - `ref_block_bytes` string
            - `ref_block_hash` string
            - `timestamp` integer
          - `reference_id` string
      - object — Exports the private key of the wallet.
        - `address` string, required
        - `method` 'exportPrivateKey', required
        - `params` PrivateKeyExportInput, required — Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
          - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
          - `export_seed_phrase` boolean
          - `export_type` 'display' | 'client' — The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
          - `recipient_public_key` union, required — The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
            - string
            - string
      - object — Exports the seed phrase of the wallet.
        - `address` string, required
        - `method` 'exportSeedPhrase', required
        - `params` SeedPhraseExportInput, required — Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
          - `encryption_type` 'HPKE', required — The encryption type of the wallet to import. Currently only supports `HPKE`.
          - `export_seed_phrase` boolean
          - `export_type` 'display' | 'client' — The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
          - `recipient_public_key` union, required — The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
            - string
            - string
    - `method` 'POST', required
    - `url` string, required

---

[API](https://skmtc.net/privy-io/apis/privy-api.md) · [All operations](https://skmtc.net/privy-io/apis/privy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/privy-io/privy-api/revisions/bb2eb34156cc/schema)
