Wallets

wallets

Methods

Get All Wallets -> Cursor<>
get/v1/wallets

Get all wallets in your app.

Create Wallet ->
post/v1/wallets

Creates a new wallet on the requested chain and for the requested owner.

Get Wallet ->
get/v1/wallets/{wallet_id}

Get a wallet by wallet ID.

Obtain A Session Key To Enable Wallet Access -> { encrypted_authorization_key, expires_at, wallets } | { authorization_key, expires_at, wallets }
post/v1/wallets/authenticate

Obtain a session key to enable wallet access.

Create Wallets With An Associated Recovery User -> { recovery_user_id, wallets }
Deprecated
post/v1/wallets_with_recovery

Create wallets with an associated recovery user.

post/v1/wallets/{wallet_id}/rpc

Sign a message or transaction with a wallet by wallet ID.

Raw Sign -> { data, method }
post/v1/wallets/{wallet_id}/raw_sign

Sign a message with a wallet by wallet ID.

Update Wallet ->
patch/v1/wallets/{wallet_id}

Update a wallet's policies or authorization key configuration.

path Parameters
wallet_id: string

ID of the wallet.

header Parameters
privy-authorization-signature: string
Optional

Request authorization signature. If multiple signatures are required, they should be comma separated.

Response fields
Request example
200Example
Export Wallet -> { ciphertext, encapsulated_key, encryption_type }
post/v1/wallets/{wallet_id}/export

Export a wallet's private key

Initialize Import -> { encryption_public_key, encryption_type }
post/v1/wallets/import/init

Initialize a wallet import. Complete by submitting the import.

Submit Import ->
post/v1/wallets/import/submit

Submit a wallet import request.

Domain types

CurveSigningChainType = "cosmos" | "stellar" | "sui" | 7 more...

The wallet chain types that support curve-based signing.

EthereumPersonalSignRpcInput = { method, params, address, 1 more... }

Executes the EVM personal_sign RPC (EIP-191) to sign a message.

EthereumPersonalSignRpcResponse = { data, method }

Response to the EVM personal_sign RPC.

EthereumSecp256k1SignRpcInput = { method, params, address, 1 more... }

Signs a raw hash on the secp256k1 curve.

EthereumSecp256k1SignRpcResponse = { data, method }

Response to the EVM secp256k1_sign RPC.

EthereumSendTransactionRpcInput = { caip2, method, params, 3 more... }

Executes the EVM eth_sendTransaction RPC to sign and broadcast a transaction.

EthereumSendTransactionRpcResponse = { data, method }

Response to the EVM eth_sendTransaction RPC.

EthereumSign7702AuthorizationRpcInput = { method, params, address, 1 more... }

Signs an EIP-7702 authorization.

EthereumSign7702AuthorizationRpcResponse = { data, method }

Response to the EVM eth_sign7702Authorization RPC.

EthereumSignTransactionRpcInput = { method, params, address, 1 more... }

Executes the EVM eth_signTransaction RPC to sign a transaction.

EthereumSignTransactionRpcResponse = { data, method }

Response to the EVM eth_signTransaction RPC.

EthereumSignTypedDataRpcInput = { method, params, address, 1 more... }

Executes the EVM eth_signTypedData_v4 RPC (EIP-712) to sign a typed data object.

EthereumSignTypedDataRpcResponse = { data, method }

Response to the EVM eth_signTypedData_v4 RPC.

EthereumSignUserOperationRpcInput = { method, params, address, 1 more... }

Executes an RPC method to hash and sign a UserOperation.

EthereumSignUserOperationRpcResponse = { data, method }

Response to the EVM eth_signUserOperation RPC.

ExtendedChainType = "cosmos" | "stellar" | "sui" | 8 more...

The wallet chain types that are not first class chains.

FirstClassChainType = "ethereum" | "solana"

The wallet chain types that offer first class support.

SolanaSignAndSendTransactionRpcInput = { caip2, method, params, 3 more... }

Executes the SVM signAndSendTransaction RPC to sign and broadcast a transaction.

SolanaSignAndSendTransactionRpcResponse = { data, method }

Response to the SVM signAndSendTransaction RPC.

SolanaSignMessageRpcInput = { method, params, address, 1 more... }

Executes the SVM signMessage RPC to sign a message.

SolanaSignMessageRpcResponse = { data, method }

Response to the SVM signMessage RPC.

SolanaSignTransactionRpcInput = { method, params, address, 1 more... }

Executes the SVM signTransaction RPC to sign a transaction.

SolanaSignTransactionRpcResponse = { data, method }

Response to the SVM signTransaction RPC.

Wallet = { id, additional_signers, address, 7 more... }
WalletChainType = "ethereum" | "solana" | "cosmos" | 10 more...

The wallet chain types.

WalletCustodian = { name }

Information about the custodian managing this wallet.

Wallets

Balance

wallets.balance

Methods

Get Balance -> { balances }
get/v1/wallets/{wallet_id}/balance

Get the balance of a wallet by wallet ID.

Wallets

Transactions

wallets.transactions

Methods

Get Transactions -> { next_cursor, transactions }
get/v1/wallets/{wallet_id}/transactions

Get incoming and outgoing transactions of a wallet by wallet ID.