Skip to main content
La Wallet API está en versión beta. Los endpoints y los formatos de respuesta pueden cambiar.

Descripción general

El endpoint Transaction History obtiene el historial completo de transacciones de una billetera de Solana mediante la Enhanced Transactions API. Devuelve transacciones analizadas y fáciles de leer, con los cambios de saldo de cada transacción, en orden cronológico inverso (las más recientes primero). El endpoint devuelve hasta 100 transacciones por solicitud, por lo que la paginación es manual. Usa el parámetro before con pagination.nextCursor para obtener la página siguiente y consulta pagination.hasMore para saber si hay más resultados disponibles. Cada solicitud equivale a una sola llamada a la API y cuesta 100 créditos. El parámetro tokenAccounts controla si se incluyen las transacciones que involucran cuentas de tokens propiedad de la billetera:
  • balanceChanged (recomendado): incluye las transacciones que modificaron los saldos de cuentas de tokens y filtra el spam.
  • none: solo interacciones directas con la billetera.
  • all: todas las transacciones de cuentas de tokens, incluido el spam.
El filtro tokenAccounts depende del campo owner de los metadatos del saldo de tokens, que no estaba disponible antes del slot 111,491,819 (~diciembre de 2022). Es posible que falten transacciones que involucren cuentas de tokens activas antes de este slot. Consulta el tutorial de getTransactionsForAddress para ver una solución alternativa.

Cuándo usarlo

Usa la Transaction History API cuando necesites:
  • Mostrar un feed de transacciones: muestra a los usuarios su historial completo de transacciones.
  • Calcular las ganancias y pérdidas: registra las ganancias y pérdidas de todas las transacciones.
  • Impuestos y contabilidad: genera informes completos de transacciones para declaraciones fiscales.
  • Análisis de portafolios: analiza los patrones y la actividad de trading.
  • Registros de auditoría: conserva registros completos de la actividad de la billetera.
  • Reconstrucción de saldos: reconstruye los saldos actuales a partir de datos históricos.

Inicio rápido

Consulta básica del historial

Obtén las transacciones más recientes con cambios de saldo:

Paginación para obtener el historial completo

Obtén todas las transacciones mediante paginación con el parámetro before:

Parámetros de consulta

Tipos de transacciones disponibles

El parámetro type permite filtrar por estos tipos de transacciones: SWAP, TRANSFER, NFT_SALE, NFT_BID, NFT_LISTING, NFT_MINT, NFT_CANCEL_LISTING, TOKEN_MINT, BURN, COMPRESSED_NFT_MINT, COMPRESSED_NFT_TRANSFER, COMPRESSED_NFT_BURN, CREATE_STORE, WHITELIST_CREATOR, ADD_TO_WHITELIST, REMOVE_FROM_WHITELIST, AUCTION_MANAGER_CLAIM_BID, EMPTY_PAYMENT_ACCOUNT, UPDATE_PRIMARY_SALE_METADATA, ADD_TOKEN_TO_VAULT, ACTIVATE_VAULT, INIT_VAULT, INIT_BANK, INIT_STAKE, MERGE_STAKE, SPLIT_STAKE, CREATE_AUCTION_MANAGER, START_AUCTION, CREATE_AUCTION_MANAGER_V2, UPDATE_EXTERNAL_PRICE_ACCOUNT, EXECUTE_TRANSACTION

Ejemplos de filtros

Formato de respuesta

Notas sobre los campos

  • timestamp: segundos Unix. Puede ser null para transacciones muy recientes que aún no se hayan procesado por completo.
  • error: null para transacciones exitosas; un valor de error para las que fallaron. Las transacciones fallidas también generan comisiones.
  • balanceChanges: indica cómo cambiaron los activos de la billetera en la transacción. Un valor amount positivo representa tokens recibidos y uno negativo representa tokens enviados o gastados.
  • mint (dentro de balanceChanges): dirección de acuñación del token, o "SOL" para SOL nativo.
  • amount (dentro de balanceChanges): fácil de leer, ya dividido entre decimals. -0.05 significa −0.05 SOL, no −0.05 lamports. Este endpoint no incluye un campo amountRaw sin procesar.

Ejemplo de cambios de saldo

Casos de uso

Calcular el volumen total de trading

Suma todas las transferencias para obtener el volumen de trading:

Generar un informe fiscal

Crea un informe de transacciones para una declaración fiscal:

Rastrear transacciones fallidas

Busca todas las transacciones fallidas para comprender los errores:

Reconstruir un saldo histórico

Calcula cuál era el saldo en un momento específico:
Para obtener el saldo exacto de un solo token en un momento determinado, el endpoint Historical Balance lo lee directamente de los saldos posteriores registrados on-chain, en lugar de sumar los cambios en el cliente.

Analizar las comisiones de las transacciones

Calcula el total de comisiones pagadas:

Prácticas recomendadas

  • Usa la paginación para obtener el historial completo. Algunas billeteras tienen cientos de miles de transacciones. Siempre usa la paginación cuando las obtengas todas.
  • Almacena en caché los datos históricos. Las transacciones históricas nunca cambian. Almacénalas localmente en caché y obtén solo las transacciones nuevas.
  • Gestiona las transacciones fallidas. Consulta el campo error para distinguir las transacciones exitosas de las fallidas. Las transacciones fallidas también generan comisiones.
  • Usa marcas de tiempo para filtrar por fecha. Las marcas de tiempo se expresan en segundos Unix. Conviértelas a fechas locales para mostrarlas y filtrarlas.

Errores comunes

Próximos pasos

Token Transfers

Una vista exclusiva de transferencias con información del remitente y el destinatario, más sencilla que el historial completo.

Wallet API Overview

Todos los endpoints de la Wallet API y las convenciones compartidas.

API Reference

Esquemas de solicitud y respuesta para el historial de transacciones.