(1) Raw Data and Enriched Endpoints

Our SQL interface provides access to both raw and enriched blockchain data through several fixed data types:

Raw Data TypeDescriptionExample
BalancesCurrent token holdings with USD valuations.Current token holdings with USD valuations
Transaction HistoryRaw transaction data.Raw transaction data
PricesRealtime Token price data (private preview)Real-time token price data for supported tokens (Private preview feature)
Enriched Data TypeDescriptionExample
PnL CalculatorsPortfolio performance metricsCalculations of portfolio gains/losses, including historical performance
Txn History with AnnotationsDecoded smart contract interactionsDetailed transaction history with annotations explaining contract interactions
DeFi Balances (Coming Soon)Protocol positions and yieldsBalances from DeFi protocols, including yields and positions (coming soon)

(2) Custom SQL Endpoints

For specialized data needs, Allium’s SQL interface supports custom queries across their dataset. This enables flexible query construction, cross-chain data analysis, and complex aggregations and joins to meet specific requirements.

(3) Allium Datastreams

Allium Datastreams delivers real-time event data through enterprise message brokers (Kafka/PubSub/SNS). This service provides instant transaction and event notifications, allows custom filtering and subscriptions, and ensures guaranteed message ordering for reliable data delivery.

We highly recommend this approach over web hooks as (1) it guarantees delivery even if either side has an outage, (2) most event buses have a retention policy that allows replay of historical messages

Usage Patterns

Some users are happy with using the endpoints as is, though depending on the use case, some customers may want to use Datastreams to receive notifications and then do a more computationally “expensive” query post alert. They leverage a hybrid architecture where real-time event streams trigger SQL queries for a more comprehensive data pull.

For example, when a streaming alert notifies an application about a new transaction, it can automatically initiate SQL queries to enrich that data with historical context or perform complex analytics.