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ámetrobefore 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.
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:- JavaScript
- Python
- cURL
Paginación para obtener el historial completo
Obtén todas las transacciones mediante paginación con el parámetrobefore:
- JavaScript
- Python
Parámetros de consulta
Tipos de transacciones disponibles
El parámetrotype 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
- Filter by Type
- Token Accounts Filter
- Combined Filters
Formato de respuesta
Notas sobre los campos
timestamp: segundos Unix. Puede sernullpara transacciones muy recientes que aún no se hayan procesado por completo.error:nullpara 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 valoramountpositivo representa tokens recibidos y uno negativo representa tokens enviados o gastados.mint(dentro debalanceChanges): dirección de acuñación del token, o"SOL"para SOL nativo.amount(dentro debalanceChanges): fácil de leer, ya dividido entredecimals.-0.05significa −0.05 SOL, no −0.05 lamports. Este endpoint no incluye un campoamountRawsin 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: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
errorpara 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.