Logo
Support
Website
Build Now

    Welcome
        ☀️What is Helius?
        💳Pricing & Rate Limits
    Solana RPC Nodes
        ☀️Helius RPCs Overview
        🏆Private Dedicated Nodes
        🔓RPC Proxy — Protect Your Keys
        🚥Priority Fee API
        📩Sending Transactions on Solana
    Compression & DAS API
        🏗️What is cNFT compression on Solana?
        💊Digital Asset Standard (DAS) API
        📨(Deprecated) Mint API
    ZK Compression & Photon API
        💡What is ZK Compression and Photon?
        🚅Photon JSON RPC Endpoints
    Webhooks & Websockets
        🔌Enhanced Websockets
        🌊gRPC (Yellowstone)
        🪝What are Webhooks?
        ⚡Quick Start
        📘API Reference
    Solana APIs
        📖Enhanced Transactions API
            Parse Transaction(s)
            Parsed Transaction History
            FAQ
        💹Token Metadata API
        💰Token Balances API
    Resources
        📚Helius Blog
        🩺Status Page
        🛠️SDKs
        📘Transaction Types

Powered by GitBook
On this page
Parsed Transaction History

Parsed Transaction History for any given address.

Enhanced Transaction API V1 is under maintenance while we work on V2.

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.

Mainnet URL: https://api.helius.xyz/v0/addresses/{address}/transactions 
Devnet URL: https://api-devnet.helius.xyz/v0/addresses/{address}/transactions 

With no parameters set, this will return the latest transactions for an address.
Returns an enriched transaction history for a given address
GEThttps://api.helius.xyz/v0/addresses/{address}/transactions
Path parameters
address
string

The address to query for.
Query parameters
Response

Returns an array of enriched transactions.
Body
descriptionstringExample: "Human readable interpretation of the transaction"
typeTransactionType (enum)
UNKNOWNNFT_BIDNFT_GLOBAL_BIDNFT_GLOBAL_BID_CANCELLEDNFT_BID_CANCELLEDNFT_LISTINGNFT_CANCEL_LISTINGNFT_SALENFT_MINTNFT_AUCTION_CREATEDNFT_AUCTION_UPDATEDNFT_AUCTION_CANCELLEDNFT_PARTICIPATION_REWARDNFT_MINT_REJECTEDCREATE_STOREWHITELIST_CREATORADD_TO_WHITELISTREMOVE_FROM_WHITELISTAUCTION_MANAGER_CLAIM_BIDEMPTY_PAYMENT_ACCOUNTUPDATE_PRIMARY_SALE_METADATAADD_TOKEN_TO_VAULTACTIVATE_VAULTINIT_VAULTINIT_BANKINIT_STAKEMERGE_STAKESPLIT_STAKESET_BANK_FLAGSSET_VAULT_LOCKUPDATE_VAULT_OWNERUPDATE_BANK_MANAGERRECORD_RARITY_POINTSADD_RARITIES_TO_BANKINIT_FARMINIT_FARMERREFRESH_FARMERUPDATE_FARMAUTHORIZE_FUNDERDEAUTHORIZE_FUNDERFUND_REWARDCANCEL_REWARDLOCK_REWARDPAYOUTVALIDATE_SAFETY_DEPOSIT_BOX_V2SET_AUTHORITYINIT_AUCTION_MANAGER_V2UPDATE_EXTERNAL_PRICE_ACCOUNTAUCTION_HOUSE_CREATECLOSE_ESCROW_ACCOUNTWITHDRAWDEPOSITTRANSFERBURNBURN_NFTPLATFORM_FEELOANRESCIND_LOANOFFER_LOANCANCEL_OFFERLEND_FOR_NFTREQUEST_LOANCANCEL_LOAN_REQUESTBORROW_SOL_FOR_NFTCLAIM_NFTREBORROW_SOL_FOR_NFTREPAY_LOANTAKE_LOANFORECLOSE_LOANUPDATE_OFFERADD_TO_POOLREMOVE_FROM_POOLCLOSE_POSITIONUNLABELEDCLOSE_ACCOUNTWITHDRAW_GEMDEPOSIT_GEMSTAKE_TOKENUNSTAKE_TOKENSTAKE_SOLUNSTAKE_SOLCLAIM_REWARDSBUY_SUBSCRIPTIONSWAPINIT_SWAPCANCEL_SWAPREJECT_SWAPINITIALIZE_ACCOUNTTOKEN_MINTCREATE_APPRAISALCANDY_MACHINE_WRAPCANDY_MACHINE_UNWRAPCANDY_MACHINE_UPDATECANDY_MACHINE_ROUTEFRACTIONALIZEDEPOSIT_FRACTIONAL_POOLFUSECREATE_RAFFLEBUY_TICKETSUPDATE_ITEMLIST_ITEMDELIST_ITEMADD_ITEMCLOSE_ITEMBUY_ITEMFILL_ORDERUPDATE_ORDERCREATE_ORDERCLOSE_ORDERCANCEL_ORDERKICK_ITEMUPGRADE_FOXUPGRADE_FOX_REQUESTLOAN_FOXBORROW_FOXSWITCH_FOX_REQUESTSWITCH_FOXCREATE_ESCROWACCEPT_REQUEST_ARTISTCANCEL_ESCROWACCEPT_ESCROW_ARTISTACCEPT_ESCROW_USERPLACE_BETPLACE_SOL_BETCREATE_BETINIT_RENTNFT_RENT_LISTINGNFT_RENT_CANCEL_LISTINGNFT_RENT_UPDATE_LISTINGNFT_RENT_ACTIVATENFT_RENT_ENDUPGRADE_PROGRAM_INSTRUCTIONFINALIZE_PROGRAM_INSTRUCTIONEXECUTE_TRANSACTIONAPPROVE_TRANSACTIONACTIVATE_TRANSACTIONCREATE_TRANSACTIONCANCEL_TRANSACTIONREJECT_TRANSACTIONADD_INSTRUCTIONCREATE_MASTER_EDITIONATTACH_METADATAREQUEST_PNFT_MIGRATIONSTART_PNFT_MIGRATIONMIGRATE_TO_PNFTUPDATE_RAFFLECREATE_MERKLE_TREEDELEGATE_MERKLE_TREECOMPRESSED_NFT_MINTCOMPRESSED_NFT_TRANSFERCOMPRESSED_NFT_REDEEMCOMPRESSED_NFT_CANCEL_REDEEMCOMPRESSED_NFT_BURNCOMPRESSED_NFT_VERIFY_CREATORCOMPRESSED_NFT_UNVERIFY_CREATORCOMPRESSED_NFT_VERIFY_COLLECTIONCOMPRESSED_NFT_UNVERIFY_COLLECTIONCOMPRESSED_NFT_SET_VERIFY_COLLECTIONDECOMPRESS_NFTCOMPRESS_NFTCOMPRESSED_NFT_DELEGATECREATE_POOLDISTRIBUTE_COMPRESSION_REWARDSCHANGE_COMIC_STATEUPDATE_RECORD_AUTHORITY_DATACREATE_AVATAR_CLASSCREATE_AVATARCREATE_TRAITCREATE_PAYMENT_METHODEQUIP_TRAITEQUIP_TRAIT_AUTHORITYREMOVE_TRAITREMOVE_TRAIT_AUTHORITYUPDATE_TRAIT_VARIANTUPDATE_TRAIT_VARIANT_AUTHORITYUPDATE_CLASS_VARIANT_AUTHORITYUPDATE_TRAIT_VARIANT_METADATAUPDATE_CLASS_VARIANT_METADATABEGIN_VARIANT_UPDATEBEGIN_TRAIT_UPDATECANCEL_UPDATEUPDATE_VARIANTTRANSFER_PAYMENTBURN_PAYMENTBURN_PAYMENT_TREETRANSFER_PAYMENT_TREEADD_PAYMENT_MINT_PAYMENT_METHODADD_TRAIT_CONFLICTSVERIFY_PAYMENT_MINTVERIFY_PAYMENT_MINT_TESTBOUND_HADO_MARKET_TO_FRAKT_MARKETDEPOSIT_TO_BOND_OFFER_STANDARDWITHDRAW_FROM_BOND_OFFER_STANDARDINITIALIZE_HADO_MARKETFINISH_HADO_MARKETUPDATE_HADO_MARKET_FEEREMOVE_BOND_OFFER_V2REPAY_FBOND_TO_TRADE_TRANSACTIONSEXIT_VALIDATE_AND_SELL_TO_BOND_OFFERS_V2REFINANCE_TO_BOND_OFFERS_V2CREATE_BOND_AND_SELL_TO_OFFERSLIQUIDATE_BOND_ON_AUCTION_PNFTCLAIM_NFT_BY_LENDER_PNFTCREATE_BOND_AND_SELL_TO_OFFERS_FOR_TESTINITIALIZE_FLASH_LOAN_POOLDEPOSIT_SOL_TO_FLASH_LOAN_POOLWITHDRAW_SOL_FROM_FLASH_LOAN_POOLTAKE_FLASH_LOANREPAY_FLASH_LOANCREATE_BOND_OFFER_STANDARDUPDATE_BOND_OFFER_STANDARDSTAKE_BANXUNSTAKE_BANXUNSUB_OR_HARVEST_WEEKSUNSUB_OR_HARVEST_WEEKS_ENHANCEDUPDATE_STAKING_SETTINGSMAP_BANX_TO_POINTSPATCH_BROKEN_USER_STAKESDEPOSIT_TO_REWARDS_VAULTWITHDRAW_REWARDS_FROM_VAULTREFINANCE_FBOND_BY_LENDERSELL_STAKED_BANX_TO_OFFERSREPAY_STAKED_BANXCREATE_PERPETUAL_BOND_OFFERREMOVE_PERPETUAL_OFFERREPAY_PERPETUAL_LOANREFINANCE_PERPETUAL_LOANCREATE_BOND_AND_SELL_TO_OFFERS_CNFTREPAY_FBOND_TO_TRADE_TRANSACTIONS_CNFTREFINANCE_TO_BOND_OFFERS_V2_CNFTCLAIM_NFT_BY_LENDER_CNFTLIQUIDATE_BOND_ON_AUCTION_CNFTMAKE_PERPETUAL_MARKETUPDATE_PERPETUAL_MARKETUPDATE_PERPETUAL_OFFERUPDATE_INTEREST_PERPETUAL_MARKETBORROW_PERPETUALCLAIM_PERPETUAL_LOANTERMINATE_PERPETUAL_LOANINSTANT_REFINANCE_PERPETUAL_LOANBORROW_STAKED_BANX_PERPETUALREPAY_STAKED_BANX_PERPETUAL_LOANBORROW_CNFT_PERPETUALREPAY_CNFT_PERPETUAL_LOANCLAIM_CNFT_PERPETUAL_LOANREPAY_PARTIAL_PERPETUAL_LOANCREATE_COLLECTIONUPDATE_COLLECTIONUPDATE_COLLECTION_OR_CREATORUPDATE_FLOORDELETE_COLLECTIONCREATE_STATSUPDATE_STATSCLEANEXPIREFIX_POOLADMIN_SYNC_LIQUIDITYCLOSE_POOLUPDATE_POOLUPDATE_POOL_COLLECTIONSUPDATE_POOL_STATUSUPDATE_POOL_MORTGAGEUPDATE_USABLE_AMOUNTUPDATE_POOL_WHITELISTADD_LIQUIDITYSYNC_LIQUIDITYWITHDRAW_LIQUIDITYTAKE_COMPRESSED_LOANREPAYREPAY_COMPRESSEDLIQUIDATETAKE_MORTGAGEFREEZEUNFREEZESELL_LOANBUY_LOANEXTEND_LOANSELL_NFTPROPOSE_LOANCANCEL_PROPOSALPOOL_CANCEL_PROPOSALACCEPT_PROPOSALEXECUTE_LOANEXECUTE_MORTGAGELIST_NFTDELIST_NFTCLAIM_SALEBOT_LIQUIDATEBOT_UNFREEZEBOT_LIQUIDATE_SELLBOT_DELISTBOT_CLAIM_SALE
sourceTransactionSource (enum)
FORM_FUNCTIONEXCHANGE_ARTCANDY_MACHINE_V3CANDY_MACHINE_V2CANDY_MACHINE_V1UNKNOWNSOLANARTSOLSEAMAGIC_EDENHOLAPLEXMETAPLEXOPENSEASOLANA_PROGRAM_LIBRARYANCHORPHANTOMSYSTEM_PROGRAMSTAKE_PROGRAMCOINBASECORAL_CUBEHEDGELAUNCH_MY_NFTGEM_BANKGEM_FARMDEGODSBSLYAWWWATADIADIGITAL_EYESHYPERSPACETENSORBIFROSTJUPITERMERCURIALSABERSERUMSTEP_FINANCECROPPERRAYDIUMALDRINCREMALIFINITYCYKURAORCAMARINADESTEPNSENCHASAROSENGLISH_AUCTIONFOXYHADESWAPFOXY_STAKINGFOXY_RAFFLEFOXY_TOKEN_MARKETFOXY_MISSIONSFOXY_MARMALADEFOXY_COINFLIPFOXY_AUCTIONCITRUSZETAELIXIRELIXIR_LAUNCHPADCARDINAL_RENTCARDINAL_STAKINGBPF_LOADERBPF_UPGRADEABLE_LOADERSQUADSSHARKY_FIOPEN_CREATOR_PROTOCOLBUBBLEGUMNOVAD_READERRAINDROPSW_SOLDUSTSOLIUSDCFLWRHDGMEANUXDSHDWPOLISATLASUSHTRTLSRUNNERINVICTUS
feeintegerExample: 5000
feePayerstringExample: "8cRrU1NzNpjL3k2BwjW3VixAcX6VFc29KHr4KZg8cs2Y"
signaturestringExample: "yy5BT9benHhx8fGCvhcAfTtLEHAtRJ3hRTzVL16bdrTCWm63t2vapfrZQZLJC3RcuagekaXjSs2zUGQvbcto8DK"
slotintegerExample: 148277128
timestampintegerExample: 1656442333
nativeTransfersarray of NativeTransfer (object)
tokenTransfersarray of TokenTransfer (object)
accountDataarray of AccountData (object)
transactionErrorobject
instructionsarray of Instruction (object)
eventsobject

Events associated with this transaction. These provide fine-grained information about the transaction. They match the types returned from the event APIs.
Request

const response = await fetch('https://api.helius.xyz/v0/addresses/{address}/transactions?api-key=text', {
    method: 'GET',
    headers: {},
});
const data = await response.json();

Response

[
  {
    "description": "Human readable interpretation of the transaction",
    "type": "UNKNOWN",
    "source": "FORM_FUNCTION",
    "fee": 5000,
    "feePayer": "8cRrU1NzNpjL3k2BwjW3VixAcX6VFc29KHr4KZg8cs2Y",
    "signature": "yy5BT9benHhx8fGCvhcAfTtLEHAtRJ3hRTzVL16bdrTCWm63t2vapfrZQZLJC3RcuagekaXjSs2zUGQvbcto8DK",
    "slot": 148277128,
    "timestamp": 1656442333,
    "nativeTransfers": [
      {
        "fromUserAccount": "text",
        "toUserAccount": "text"
      }
    ],
    "tokenTransfers": [
      {
        "fromUserAccount": "text",
        "toUserAccount": "text",
        "fromTokenAccount": "text",
        "toTokenAccount": "text",
        "tokenAmount": 0,
        "mint": "DsfCsbbPH77p6yeLS1i4ag9UA5gP9xWSvdCx72FJjLsx"
      }
    ],
    "accountData": [
      {
        "account": "text",
        "nativeBalanceChange": 0,
        "tokenBalanceChanges": [
          {
            "userAccount": "F54ZGuxyb2gA7vRjzWKLWEMQqCfJxDY1whtqtjdq4CJ",
            "tokenAccount": "2kvmbRybhrcptDnwyNv6oiFGFEnRVv7MvVyqsxkirgdn",
            "mint": "DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",
            "rawTokenAmount": {
              "tokenAmount": "text"
            }
          }
        ]
      }
    ],
    "transactionError": {
      "error": "text"
    },
    "instructions": [
      {
        "accounts": [
          "8uX6yiUuH4UjUb1gMGJAdkXorSuKshqsFGDCFShcK88B"
        ],
        "data": "kdL8HQJrbbvQRGXmoadaja1Qvs",
        "programId": "MEisE1HzehtrDpAAT8PnLHjpSSkRYakotTuJRPjTpo8",
        "innerInstructions": [
          {
            "accounts": [
              "text"
            ],
            "data": "text",
            "programId": "text"
          }
        ]
      }
    ],
    "events": {
      "nft": {
        "description": "text",
        "type": "NFT_BID",
        "source": "FORM_FUNCTION",
        "amount": 1000000,
        "fee": 5000,
        "feePayer": "8cRrU1NzNpjL3k2BwjW3VixAcX6VFc29KHr4KZg8cs2Y",
        "signature": "4jzQxVTaJ4Fe4Fct9y1aaT9hmVyEjpCqE2bL8JMnuLZbzHZwaL4kZZvNEZ6bEj6fGmiAdCPjmNQHCf8v994PAgDf",
        "slot": 148277128,
        "timestamp": 1656442333,
        "saleType": "AUCTION",
        "buyer": "text",
        "seller": "text",
        "staker": "text",
        "nfts": [
          {
            "mint": "DsfCsbbPH77p6yeLS1i4ag9UA5gP9xWSvdCx72FJjLsx",
            "tokenStandard": "NonFungible"
          }
        ]
      },
      "swap": {
        "nativeInput": {
          "account": "2uySTNgvGT2kwqpfgLiSgeBLR3wQyye1i1A2iQWoPiFr",
          "amount": "100000000"
        },
        "nativeOutput": {
          "account": "2uySTNgvGT2kwqpfgLiSgeBLR3wQyye1i1A2iQWoPiFr",
          "amount": "100000000"
        },
        "tokenInputs": [
          {
            "userAccount": "F54ZGuxyb2gA7vRjzWKLWEMQqCfJxDY1whtqtjdq4CJ",
            "tokenAccount": "2kvmbRybhrcptDnwyNv6oiFGFEnRVv7MvVyqsxkirgdn",
            "mint": "DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",
            "rawTokenAmount": {
              "tokenAmount": "text"
            }
          }
        ],
        "tokenOutputs": [
          {
            "userAccount": "F54ZGuxyb2gA7vRjzWKLWEMQqCfJxDY1whtqtjdq4CJ",
            "tokenAccount": "2kvmbRybhrcptDnwyNv6oiFGFEnRVv7MvVyqsxkirgdn",
            "mint": "DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",
            "rawTokenAmount": {
              "tokenAmount": "text"
            }
          }
        ],
        "tokenFees": [
          {
            "userAccount": "F54ZGuxyb2gA7vRjzWKLWEMQqCfJxDY1whtqtjdq4CJ",
            "tokenAccount": "2kvmbRybhrcptDnwyNv6oiFGFEnRVv7MvVyqsxkirgdn",
            "mint": "DUSTawucrTsGU8hcqRdHDCbuYhCPADMLM2VcCb8VnFnQ",
            "rawTokenAmount": {
              "tokenAmount": "text"
            }
          }
        ],
        "nativeFees": [
          {
            "account": "2uySTNgvGT2kwqpfgLiSgeBLR3wQyye1i1A2iQWoPiFr",
            "amount": "100000000"
          }
        ],
        "innerSwaps": [
          {
            "tokenInputs": [
              {
                "fromUserAccount": "text",
                "toUserAccount": "text",
                "fromTokenAccount": "text",
                "toTokenAccount": "text",
                "tokenAmount": 0,
                "mint": "DsfCsbbPH77p6yeLS1i4ag9UA5gP9xWSvdCx72FJjLsx"
              }
            ],
            "tokenOutputs": [
              {
                "fromUserAccount": "text",
                "toUserAccount": "text",
                "fromTokenAccount": "text",
                "toTokenAccount": "text",
                "tokenAmount": 0,
                "mint": "DsfCsbbPH77p6yeLS1i4ag9UA5gP9xWSvdCx72FJjLsx"
              }
            ],
            "tokenFees": [
              {
                "fromUserAccount": "text",
                "toUserAccount": "text",
                "fromTokenAccount": "text",
                "toTokenAccount": "text",
                "tokenAmount": 0,
                "mint": "DsfCsbbPH77p6yeLS1i4ag9UA5gP9xWSvdCx72FJjLsx"
              }
            ],
            "nativeFees": [
              {
                "fromUserAccount": "text",
                "toUserAccount": "text"
              }
            ],
            "programInfo": {
              "source": "ORCA",
              "account": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc",
              "programName": "ORCA_WHIRLPOOLS",
              "instructionName": "whirlpoolSwap"
            }
          }
        ]
      },
      "compressed": {
        "type": "COMPRESSED_NFT_MINT",
        "treeId": "text",
        "assetId": "text",
        "newLeafOwner": "text",
        "oldLeafOwner": "text"
      },
      "distributeCompressionRewards": {},
      "setAuthority": {
        "account": "text",
        "from": "text",
        "to": "text"
      }
    }
  }
]

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 base_url = `https://api.helius.xyz/v0/addresses/2k5AXX4guW9XwRQ1AKCpAuUqgWDpQpwFfpVFh3hnm2Ha/transactions?api-key=<api-key>`;
let url = base_url;
let lastSignature = null;

const fetchAndParseTransactions = async () => {
  while (true) {
    if (lastSignature) {
      url = base_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();

PreviousParse Transaction(s)
NextFAQ

Last updated 2 months ago