Get transactions
curl --request GET \
--url https://api.privy.io/v1/wallets/{wallet_id}/transactions \
--header 'Authorization: Basic <encoded-value>' \
--header 'privy-app-id: <privy-app-id>'HttpResponse<String> response = Unirest.get("https://api.privy.io/v1/wallets/{wallet_id}/transactions")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.asString();const options = {
method: 'GET',
headers: {'privy-app-id': '<privy-app-id>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.privy.io/v1/wallets/{wallet_id}/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/wallets/{wallet_id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/wallets/{wallet_id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"transactions": [
{
"caip2": "eip155:8453",
"transaction_hash": "0x03fe1b0fd11a74d277a5b7a68b762de906503b82cbce2fc791250fd2b77cf137",
"status": "confirmed",
"created_at": 1746920539240,
"privy_transaction_id": "au6wxoyhbw4yhwbn1s5v9gs9",
"wallet_id": "xs76o3pi0v5syd62ui1wmijw",
"details": {
"type": "transfer_sent",
"chain": "base",
"asset": "eth",
"sender": "0xa24c8d74c913e5dba36e45236c478f37c8bba20e",
"sender_privy_user_id": "rkiz0ivz254drv1xw982v3jq",
"recipient": "0x38bc05d7b69f63d05337829fa5dc4896f179b5fa",
"recipient_privy_user_id": "cmakymbpt000te63uaj85d9r6",
"raw_value": "1",
"raw_value_decimals": 18,
"display_values": {
"eth": "0.000000000000000001"
}
}
}
],
"next_cursor": null
}Wallets
Get transactions
Get incoming and outgoing transactions of a wallet by wallet ID.
GET
/
v1
/
wallets
/
{wallet_id}
/
transactions
Get transactions
curl --request GET \
--url https://api.privy.io/v1/wallets/{wallet_id}/transactions \
--header 'Authorization: Basic <encoded-value>' \
--header 'privy-app-id: <privy-app-id>'HttpResponse<String> response = Unirest.get("https://api.privy.io/v1/wallets/{wallet_id}/transactions")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.asString();const options = {
method: 'GET',
headers: {'privy-app-id': '<privy-app-id>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.privy.io/v1/wallets/{wallet_id}/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/wallets/{wallet_id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/wallets/{wallet_id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"transactions": [
{
"caip2": "eip155:8453",
"transaction_hash": "0x03fe1b0fd11a74d277a5b7a68b762de906503b82cbce2fc791250fd2b77cf137",
"status": "confirmed",
"created_at": 1746920539240,
"privy_transaction_id": "au6wxoyhbw4yhwbn1s5v9gs9",
"wallet_id": "xs76o3pi0v5syd62ui1wmijw",
"details": {
"type": "transfer_sent",
"chain": "base",
"asset": "eth",
"sender": "0xa24c8d74c913e5dba36e45236c478f37c8bba20e",
"sender_privy_user_id": "rkiz0ivz254drv1xw982v3jq",
"recipient": "0x38bc05d7b69f63d05337829fa5dc4896f179b5fa",
"recipient_privy_user_id": "cmakymbpt000te63uaj85d9r6",
"raw_value": "1",
"raw_value_decimals": 18,
"display_values": {
"eth": "0.000000000000000001"
}
}
}
],
"next_cursor": null
}Authorizations
Basic Auth header with your app ID as the username and your app secret as the password.
Headers
ID of your Privy app.
Path Parameters
ID of the wallet.
Query Parameters
Minimum string length:
1Required range:
x <= 100Chains supported for transaction history queries.
Available options:
ethereum, arbitrum, avalanche, base, base_sepolia, bsc, tempo, linea, optimism, polygon, solana, sepolia asset
WalletEthereumAsset · enum<string>WalletSolanaAsset · enum<string>WalletTronAsset · enum<string>Option 4 · enum<string>[]
Exactly one of asset or token is required. Cannot be used together with token.
Available options:
usdc, usdc.e, eth, avax, pol, bnb, usdt, eurc, usdb, ousd, pathusd Exactly one of token or asset is required. Cannot be used together with asset.
Include archived wallets in lookup. Defaults to false.
Was this page helpful?

