Ask or search…
K
Links

Parsed Transaction History

Parsed Transaction History for any given address.
Attention: we *only* parse NFT, Jupiter, and SPL related transactions so far. Do not rely on these parsers for DeFi or non-NFT, Jupiter, and SPL transactions.

v0/addresses/:address/transactions

Returns the enriched transaction history for a given address. For a full list of Transaction Types and Sources, please see Transaction Types.
Use https://api-devnet.helius.xyz/v0/addresses/{address}/transactions for devnet transactions
With no parameters set, this will return the latest transactions for an address.
get
https://api.helius.xyz
/v0/addresses/{address}/transactions
Returns an enriched transaction history for a given address

Code Samples

Basic Example

parseTransactions.js
const url = "https://api.helius.xyz/v0/addresses/M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K/transactions?api-key=<your-key>";
const parseTransactions = async () => {
const response = await fetch(url);
const data = await response.json();
console.log("parsed transactions: ", data);
};
parseTransactions();

NFT Sale Transaction Example

const tokenAddress = "GjUG1BATg5V4bdAr1csKys1XK9fmrbntgb1iV7rAkn94"
// NFT TRANSACTION SEARCH
const url = `https://api.helius.xyz/v0/addresses/${tokenAddress}/transactions?api-key=${apiKey}&type=NFT_SALE`
const parseNFT = async () => {
const response = await fetch(url);
const data = await response.json();
console.log("nft transactions: ", data);
};
parseNFT();

Wallet Transaction Example

const walletAddress = "2k5AXX4guW9XwRQ1AKCpAuUqgWDpQpwFfpVFh3hnm2Ha"
// WALLET TRANSACTION SEARCH
const url = `https://api.helius.xyz/v0/addresses/${walletAddress}/transactions?api-key=${apiKey}`
const parseWallet = async () => {
const response = await fetch(url);
const data = await response.json();
console.log("wallet transactions: ", data);
};
parseWallet();
All Transactions Using Pagination
let url = `https://api.helius.xyz/v0/addresses/2k5AXX4guW9XwRQ1AKCpAuUqgWDpQpwFfpVFh3hnm2Ha/transactions?api-key=<api-key>`;
let lastSignature = null;
const fetchAndParseTransactions = async () => {
while (true) {
if (lastSignature) {
url += `&before=${lastSignature}`;
}
const response = await fetch(url);
const transactions = await response.json();
if (transactions && transactions.length > 0) {
console.log("Fetched transactions: ", transactions);
lastSignature = transactions[transactions.length - 1].signature;
} else {
console.log("No more transactions available.");
break;
}
}
};
fetchAndParseTransactions();