Wallets
wallets
Methods
Get all wallets in your app.
Creates a new wallet on the requested chain and for the requested owner.
Creates multiple wallets in a single request. Each wallet creation is independent; failures for one wallet do not affect others. Maximum batch size is 100 wallets.
Get a wallet by wallet ID.
Look up a wallet by its blockchain address. Returns the wallet object if found.
Exchange a user JWT for a session key authorized to act on the user's wallets. Returns the encrypted authorization key and the list of wallets it can access.
Create one or more wallets associated with a recovery user, so the user can later regain wallet access via the linked accounts. Deprecated; prefer the standard wallet creation flow combined with a separate recovery setup.
Sign a message or transaction with a wallet by wallet ID.
Sign a message with a wallet by wallet ID.
Update a wallet's policies or authorization key configuration.
Export a wallet's private key
Initialize a wallet import. Complete by submitting the import.
Submit a wallet import request.
Transfer tokens from a wallet to a destination address.
Domain types
Additional signers for the wallet.
A single additional signer for a wallet, with an optional policy override.
A blockchain wallet address (Ethereum or Solana).
Whether the amount refers to the input token or output token.
Dashboard response for a wallet authorization key (includes role, which is an internal-only concept).
Public-facing response for a wallet authorization key.
The role of an authorization key, controlling what actions it can authorize on a wallet.
The wallet chain types that support curve-based signing.
The cryptographic curve type used by the wallet.
Information about a custodial wallet.
The chain type of the custodial wallet.
The input for creating a custodial wallet.
The provider of the custodial wallet.
Source for a transfer identified by a token contract address (EVM) or mint address (Solana). Use this variant for tokens that are not first-class assets.
Estimated fee paid to the developer.
Executes the EVM personal_sign RPC (EIP-191) to sign a message.
Parameters for the EVM personal_sign RPC.
Response to the EVM personal_sign RPC.
Data returned by the EVM personal_sign RPC.
Request body for Ethereum wallet RPC operations, discriminated by method.
Response body for Ethereum wallet RPC operations, discriminated by method.
Signs a raw hash on the secp256k1 curve.
Parameters for the EVM secp256k1_sign RPC.
Response to the EVM secp256k1_sign RPC.
Data returned by the EVM secp256k1_sign RPC.
A single call within a batched wallet_sendCalls request.
Executes the wallet_sendCalls RPC (EIP-5792) to batch multiple calls into a single atomic transaction.
Parameters for the wallet_sendCalls RPC.
Response to the wallet_sendCalls RPC.
Data returned by the wallet_sendCalls RPC.
Executes the EVM eth_sendTransaction RPC to sign and broadcast a transaction.
Parameters for the EVM eth_sendTransaction RPC.
Response to the EVM eth_sendTransaction RPC.
Data returned by the EVM eth_sendTransaction RPC.
A signed EIP-7702 authorization that delegates code execution to a contract address.
Signs an EIP-7702 authorization.
Parameters for the EVM eth_sign7702Authorization RPC.
Response to the EVM eth_sign7702Authorization RPC.
Data returned by the EVM eth_sign7702Authorization RPC.
Executes the EVM eth_signTransaction RPC to sign a transaction.
Parameters for the EVM eth_signTransaction RPC.
Response to the EVM eth_signTransaction RPC.
Data returned by the EVM eth_signTransaction RPC.
Executes the EVM eth_signTypedData_v4 RPC (EIP-712) to sign a typed data object.
Parameters for the EVM eth_signTypedData_v4 RPC.
Response to the EVM eth_signTypedData_v4 RPC.
Data returned by the EVM eth_signTypedData_v4 RPC.
Executes an RPC method to hash and sign a UserOperation.
Parameters for the EVM eth_signUserOperation RPC.
Response to the EVM eth_signUserOperation RPC.
Data returned by the EVM eth_signUserOperation RPC.
EIP-712 typed data object.
Exports the private key of the wallet.
Response to the exportPrivateKey RPC.
Exports the seed phrase of the wallet.
Response to the exportSeedPhrase RPC.
The export type. 'display' is for showing the key to the user in the UI, 'client' is for exporting to the client application.
The wallet chain types that are not first class chains.
Total fees assessed on a transfer, in BPS
An individual fee assessed on a transfer.
The wallet chain types that offer first class support.
Gas cost for a blockchain action. Includes both raw base-unit amount and a human-readable decimal string, plus the gas token symbol.
Request body for looking up a wallet by its blockchain address.
The input for HD wallets.
A BIP-32 hierarchical deterministic wallet derivation path.
The submission input for importing an HD wallet.
A hex-encoded string prefixed with '0x', capped at 100002 characters (50,000 bytes).
The AEAD algorithm used for HPKE encryption.
The encryption type of the wallet to import. Currently only supports HPKE.
Optional HPKE configuration for wallet import decryption. These parameters allow importing wallets encrypted by external providers that use different HPKE configurations.
Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this variant for first-class assets maintained by Privy.
A Spark token output with its previous transaction data.
An optional list of up to one policy ID to enforce on the wallet.
Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
Response containing HPKE-encrypted wallet data (private key or seed phrase).
The input for private key wallets.
The submission input for importing a private key wallet.
Estimated fee paid to Privy.
A quantity value that can be either a hex string starting with '0x' or a non-negative integer.
Encoding scheme for bytes in the raw_sign RPC.
Hash function for bytes in the raw_sign RPC.
Parameters for hashing and signing bytes with the raw_sign RPC.
Parameters for signing a pre-computed hash with the raw_sign RPC.
Provide either hash (to sign a pre-computed hash) OR bytes, encoding, and hash_function (to hash and then sign). These options are mutually exclusive.
Parameters for the raw_sign RPC.
Response to the raw_sign RPC.
Data returned by the raw_sign RPC.
The recipient public key for HPKE encryption, in PEM or DER (base64-encoded) format.
Estimated fee paid to the relayer.
Input for exporting a wallet (private key or seed phrase) with HPKE encryption.
Response containing HPKE-encrypted wallet data (private key or seed phrase).
The signing algorithm used by the wallet.
Request body for Solana wallet RPC operations, discriminated by method.
Response body for Solana wallet RPC operations, discriminated by method.
Executes the SVM signAndSendTransaction RPC to sign and broadcast a transaction.
Parameters for the SVM signAndSendTransaction RPC.
Response to the SVM signAndSendTransaction RPC.
Data returned by the SVM signAndSendTransaction RPC.
Executes the SVM signMessage RPC to sign a message.
Parameters for the SVM signMessage RPC.
Response to the SVM signMessage RPC.
Data returned by the SVM signMessage RPC.
Executes the SVM signTransaction RPC to sign a transaction.
Parameters for the SVM signTransaction RPC.
Response to the SVM signTransaction RPC.
Data returned by the SVM signTransaction RPC.
The derivation strategy used for Solana wallets.
The balance of a Spark wallet.
Claims a static deposit into the Spark wallet.
Parameters for the Spark claimStaticDeposit RPC.
Response to the Spark claimStaticDeposit RPC.
Data returned by the Spark claimStaticDeposit RPC.
Creates a Lightning invoice for the Spark wallet.
Parameters for the Spark createLightningInvoice RPC.
Response to the Spark createLightningInvoice RPC.
Gets the balance of the Spark wallet.
Response to the Spark getBalance RPC.
Gets a quote for claiming a static deposit.
Parameters for the Spark getClaimStaticDepositQuote RPC.
Response to the Spark getClaimStaticDepositQuote RPC.
Data returned by the Spark getClaimStaticDepositQuote RPC.
Gets a static deposit address for the Spark wallet.
Response to the Spark getStaticDepositAddress RPC.
Data returned by the Spark getStaticDepositAddress RPC.
The fee for a Spark Lightning payment.
A Spark Lightning receive request.
A Spark Lightning send request.
The Spark network.
Strategy for selecting outputs in a Spark token transfer.
Pays a Lightning invoice from the Spark wallet.
Parameters for the Spark payLightningInvoice RPC.
Response to the Spark payLightningInvoice RPC.
Request body for Spark wallet RPC operations, discriminated by method.
Response body for Spark wallet RPC operations, discriminated by method.
Signs a message with the Spark identity key.
Parameters for the Spark signMessageWithIdentityKey RPC.
Response to the Spark signMessageWithIdentityKey RPC.
Data returned by the Spark signMessageWithIdentityKey RPC.
A Spark signing keyshare.
Balance of a Spark token.
A Spark transfer.
A Spark transfer leaf.
Transfers satoshis to a Spark address.
Parameters for the Spark transfer RPC.
Response to the Spark transfer RPC.
Transfers tokens to a Spark address.
Parameters for the Spark transferTokens RPC.
Response to the Spark transferTokens RPC.
Data returned by the Spark transferTokens RPC.
Metadata for a Spark user token.
A Spark wallet leaf node.
SUI transaction commands allowlist for raw_sign endpoint policy evaluation
An AA authorization for Tempo transactions with P256/WebAuthn signatures.
A single call within a Tempo batched transaction.
A fee payer signature for sponsored Tempo transactions (secp256k1 only).
A Spark token output.
The destination address for a token transfer. Optionally specify a different asset or chain for cross-asset or cross-chain transfers.
The source asset, amount, and chain for a token transfer. Specify either asset (named) or asset_address (custom), not both.
Total fees assessed on a transfer, in BPS
Details of a wallet transaction, varying by transaction type.
Token contract address (EVM: 0x-prefixed hex) or mint address (Solana: base58), used to filter wallet transactions.
Request body for requesting a quote for a cross-asset or cross-chain (DADC) transfer.
Response containing a quote for a cross-asset or cross-chain (DADC) transfer.
Details for a received transfer transaction.
Request body for initiating a sponsored token transfer from an embedded wallet.
Details for a sent transfer transaction.
The domain parameters for EIP-712 typed data signing.
A single field definition in an EIP-712 typed data type.
The type definitions for EIP-712 typed data signing.
An unsigned Ethereum transaction object. Supports standard EVM transaction types (0, 1, 2, 4) and Tempo transactions (type 118).
An unsigned standard Ethereum transaction object. Supports EVM transaction types 0, 1, 2, and 4.
An unsigned Tempo transaction (type 118) with batched calls.
An ERC-4337 user operation.
A wallet managed by Privy's wallet infrastructure.
Additional signers for the wallet.
A single additional signer on a wallet, with an optional policy override.
Input for registering or updating an application public signing key for API-based wallet actions.
Input for revoking an application authorization key.
A named asset supported across all chains.
Request body for wallet authentication with HPKE-encrypted response.
The response from authenticating a wallet, containing an authorization key and wallet data.
Headers required to authorize wallet operations.
Request body for batch wallet creation.
Response for a batch wallet creation request.
A single result from a batch wallet creation operation.
Input for a single wallet in a batch creation request.
The wallet chain types.
The response from creating wallets with an associated recovery user.
Information about the custodian managing this wallet.
The entropy type of the wallet.
A named asset on Ethereum-compatible chains.
Request body for exporting a wallet private key.
Response body containing the encrypted wallet private key.
Response from initializing a wallet import, containing the encryption public key.
The chain type of the wallet to import. Currently supports ethereum and solana.
The entropy type of the wallet to import. Supports private-key for raw private keys and hd for HD wallet seed phrases.
The response body from revoking a wallet delegation.
Request body for wallet RPC operations, discriminated by method.
Response body for wallet RPC operations, discriminated by method.
A named asset on Solana.
Request body for updating a wallet. owner and owner_id are mutually exclusive.
Balance
wallets.balance
Methods
Get the balance of a wallet by wallet ID.
Domain types
Earn
wallets.earn
Methods
Deposit assets into an ERC-4626 vault.
Withdraw assets from an ERC-4626 vault.
Methods
Claim incentive rewards for a wallet.
Swap
wallets.swap
Methods
Get a price quote for swapping tokens within a wallet.
Execute a token swap within a wallet.
Transactions
wallets.transactions
Methods
Get incoming and outgoing transactions of a wallet by wallet ID.
ID of the wallet.
Exactly one of token or asset is required. Cannot be used together with asset.
Exactly one of asset or token is required. Cannot be used together with token.
Domain types