Analytics · Beta
Allium
API integration
Ship Analytics features without building the integration. Full Allium API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Allium
Common scenarios for SaaS companies building Allium integrations for their customers.
Power crypto portfolio and PnL dashboards
Give your users instant, multi-chain portfolio views with realized and unrealized PnL without building blockchain infrastructure. Truto handles the Allium connection so your SaaS can focus on the UX layer.
Automate crypto accounting and tax workflows
Let accounting and treasury SaaS platforms reconstruct historical wallet activity, cost basis, and holdings across chains. Allium provides the standardized ledger and pricing data; Truto keeps the integration maintained.
Stream on-chain events into compliance and monitoring tools
Compliance and risk SaaS products can provision real-time Allium Beam pipelines per customer to watch flagged wallets and trigger alerts. Truto abstracts the config, deployment, and dataset management calls.
Enable Web3 audience segmentation for marketing SaaS
Marketing and CRM platforms can run parameterized SQL queries against Allium Explorer to build wallet segments based on holdings, NFT ownership, or trading volume. Truto standardizes query execution and result polling.
Deliver institutional trading terminals with perps and Hyperliquid data
Trading SaaS products can layer funding rates, open interest, liquidations, and Hyperliquid orderbook data into their dashboards. Truto provides a single interface to Allium's market and derivatives endpoints.
What You Can Build
Ship these features with Truto + Allium
Concrete product features your team can ship faster by leveraging Truto’s Allium integration instead of building from scratch.
Multi-chain wallet PnL dashboards
Use wallet PnL, PnL-by-token, and holdings history endpoints to show users per-token cost basis, realized and unrealized gains across their connected wallets.
Historical tax and cost-basis engine
Combine wallet transaction history with point-in-time token prices to auto-generate cost basis, capital gains, and downloadable tax reports for end users.
Real-time on-chain event webhooks
Create and deploy Allium Beam configs, filters, and workflows on behalf of your users so their app receives streamed events for specific wallets, tokens, or contracts.
Dynamic wallet watchlists for compliance alerts
Programmatically add or remove wallet addresses from Beam datasets so customers can maintain live monitoring lists that update streaming filters without redeployment.
Parameterized SQL-powered audience builder
Trigger async Allium Explorer query runs from your UI, poll status, and pull results to let non-technical users build on-chain segments (holders, NFT owners, high-volume traders).
Perpetuals and Hyperliquid trading cockpit
Combine Hyperliquid fills, order history, orderbook, market OHLCV, funding, open interest, and liquidations endpoints to power an institutional trading terminal.
SuperAI
Allium AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_allium_querie_run
Execute a saved allium query by its query_id and return the results. The request body is a free-form JSON object that maps query parameter names to string values; the required keys depend on the saved query's parameter definitions. Returns query execution results as a dynamic payload whose schema depends on the query's column definitions. Required: query_id.
create_a_allium_querie_run_async
Execute an Allium Explorer query asynchronously and receive a run identifier for polling results. Returns: run_id. Required: query_id.
list_all_allium_explorer_query_runs
Get the latest query run for a given query in allium. Returns: run_id, query_id, query_config, creator_id, created_at, completed_at, status, stats, error, results, zed_token. Required: query_id.
allium_explorer_query_runs_cancel
Cancel a running query run in allium by run_id. Returns a 200 response on success; the response body structure is not enumerated by the source. Required: run_id.
list_all_allium_query_run_status
Get the current execution status of an Allium Explorer query run. Returns a status string indicating the run's progress — one of: created, queued, running, success, failed, or canceled. Required: run_id.
list_all_allium_query_run_results
List results of a completed Allium Explorer query run. Returns: sql, data, meta, queried_at, run_id. Required: run_id.
list_all_allium_polygon_nfts
List NFTs on the Polygon blockchain via Allium. Returns: id, created_at, updated_at.
list_all_allium_pings
List pings in allium. Returns: id, name, created_at, updated_at.
create_a_allium_token_price
Fetch the latest price and OHLC values for a list of tokens in allium. Returns an items array with each token's timestamp, chain, address, price, open, high, close, low, and decimals, plus a cursor and message. Required: a request body array of token_address and chain pairs (up to 200 tokens).
get_single_allium_token_price_by_id
Get token prices at or before a specific timestamp in allium, falling back to the closest prior price when no exact match exists. Returns an items array with input_timestamp, price_timestamp, mint, chain, and price per token, plus a cursor and message. Required: addresses, timestamp, time_granularity.
create_a_allium_token_price_history
Fetch historical OHLC price data in allium for up to 50 token/chain pairs over a specified time window. Returns items containing mint, chain, decimals, and a prices array with timestamp, price, open, high, close, and low values; also returns cursor and message. Required: addresses, start_timestamp, end_timestamp, time_granularity.
create_a_allium_token_price_stat
Fetch token price statistics for up to 200 tokens in allium based on on-chain DEX activity. Returns: filter. Required: a request body array with token_address and chain per token entry. Maximum 200 tokens per request.
list_all_allium_tokens
List the top allium tokens ordered by a specified metric. Returns: chain, address, object, price, decimals, info, attributes. Supports optional filtering by chain and minimum volume thresholds.
allium_tokens_search
Search allium tokens by keyword matched case-insensitively against token name and symbol. Returns: chain, address, object, price, decimals, info, attributes. Required: q.
get_single_allium_token_by_id
Fetch detailed token data in allium for one or more specific token addresses by supplying an array of chain/address pairs. Returns: object, allocation_amounts, consumed_amounts. Required: token_address, chain (per array item). Accepts 1–200 pairs per request.
list_all_allium_token_transfers
List token transfers in allium for a given blockchain chain. Returns records including block_slot, block_height, block_timestamp, txn_id, from_account, to_account, from_token_account, to_token_account, mint, value, decimals, and signer. Required: chain. transfer_type filter can only be used when address is also specified.
list_all_allium_assets
List assets in Allium. Returns a paginated collection of asset records; each item includes id, slug, source, name, symbol, image_url, circulating_supply, chain_specific_data, and token_creation_time. No required parameters.
get_single_allium_asset_by_id
Get a batch of assets in Allium by ID, slug, or chain and address. Returns an array of asset records each with id, slug, source, name, symbol, image_url, circulating_supply, chain_specific_data, and token_creation_time. Supply at least one lookup field per item in the request body.
create_a_allium_wallet_balance
Fetch the latest fungible token balances for one or more wallet addresses across supported chains in Allium. Returns: address, block_hash, block_number, block_timestamp, chain, raw_balance, raw_balance_str, token. Required: array body with chain and address per entry. Accepts 1–100 wallet entries per request.
create_a_allium_wallet_balance_history
Fetch historical fungible token balances for up to 5 wallet addresses in allium. Returns balance records including address, block_hash, block_slot, block_timestamp, chain, raw_balance, raw_balance_str, token, txn_id, and txn_index. Required: addresses, start_timestamp, end_timestamp.
create_a_allium_wallet_transaction
Fetch wallet transactions in allium for one or more wallet address and chain pairs, supporting up to 20 wallets per request. Returns items containing each transaction's id, hash, chain, block_timestamp, fee, from_address, to_address, asset_transfers, and activities, plus a cursor for pagination. Required: request body array with chain and address per wallet.
create_a_allium_wallet_holdings_history
Fetch historical USD holdings value for wallet addresses in allium, returning aggregated snapshots at regular time intervals sorted by timestamp descending. Returns: filter. Required: addresses, start_timestamp, end_timestamp, granularity. Accepts 1–15 address/chain pairs per request; the finest allowed granularity depends on the requested time range.
create_a_allium_wallet_pnl
Fetch current PnL metrics for one or more wallet addresses in allium. Returns: filter. Accepts 1–20 wallet/chain pairs per request. Required: array body with chain and address for each entry.
create_a_allium_wallet_pnl_history
Fetch historical realized and unrealized PnL for wallet addresses in Allium over a specified time range and granularity. Returns: filter. Required: addresses, start_timestamp, end_timestamp, granularity. Addresses array is limited to 1–20 entries; allowed granularity depends on the requested time range.
create_a_allium_wallet_pnl_by_token
Fetch current PnL metrics for specific wallet and token address combinations in allium. Returns data and items each containing chain, address, token_address, current_tokens, current_balance, current_price, unrealized_pnl, realized_pnl, average_cost, unrealized_pnl_ratio_change, attributes, and historical_breakdown per token. Required: chain, address, token_address per item. Accepts an array of…
create_a_allium_wallet_pnl_by_token_history
Fetch historical PnL breakdown by token for one or more wallets in allium. Returns data and items arrays each containing chain, address, token_address, and a pnl array of timestamped unrealized_pnl and realized_pnl entries, plus error and cursor. Required: addresses (1–20 wallet/chain/token triples), start_timestamp, end_timestamp, granularity.
create_a_allium_wallet_position
Fetch DeFi wallet positions in allium for up to 5 address/chain pairs in a single request. Returns items (a list of positions with position_id, position_type, protocol, address, chain, total_value_usd, token0, token1, and unclaimed_fees_usd), cursor, and total. Required: chain and address for each entry in the request array.
create_a_allium_hyperliquid_fill
Fetch fill data for a Hyperliquid user address in Allium. Returns an array of fill records including closedPnl, coin, hash, oid, px, side, sz, time, fee, feeToken, tid, liquidation, builderFee, builderAddress, and twapId. Required: type, user. Note: startTime is required when type is userFillsByTime.
create_a_allium_hyperliquid_order_history
Fetch historical order data for a Hyperliquid user address via Allium. Returns an array of order records each containing order (with coin, side, limitPx, sz, oid, orderType, tif, cloid, and more), status, and statusTimestamp. Required: type, user. The interval between startTime and endTime cannot exceed 30 days; omit both to retrieve the most recent orders.
create_a_allium_hyperliquid_order_status
Get order status information for a Hyperliquid user address. Returns the order object (including coin, side, limitPx, sz, oid, orderType, tif, and cloid), along with status and statusTimestamp. Required: type, user, oid.
list_all_allium_hyperliquid_orderbook
List all Hyperliquid orderbook snapshots across every trading pair with approximately 5-second data freshness. Returns an array of per-pair snapshots; each snapshot includes pair (trading pair identifier) and book_orders (two-element array of bids at index 0 and asks at index 1), where every order entry contains coin, side, limitPx, sz, oid, timestamp, orderType, tif, reduceOnly, origSz,…
create_a_allium_hyperliquid_event
Retrieve Hyperliquid user event history from Allium, returning funding payments or non-funding ledger updates for a given wallet address. Returns an array of event objects each containing time (Unix ms timestamp), hash (transaction hash), and a delta payload with type-specific fields such as coin, usdc, szi, and fundingRate. Required: type, user.
list_all_allium_markets
List allium markets with optional filters by venue, instrument type, base/quote asset, and active status. Returns: market_id, venue, base_asset, quote_asset, settlement, active, tick_size, contract_size, perp.
allium_markets_search
Search allium markets by free-text query for ticker lookups and symbol disambiguation across venues and instrument types. Returns: market_id, venue, match_type. Required: q (max 1024 characters).
get_single_allium_market_by_id
Get a single allium market by id. Returns `data`, the full market reference object, including market_id, venue, base_asset, quote_asset, settlement, active, tick_size, contract_size, and perp funding metadata. Required: id.
list_all_allium_market_prices
Get the latest price snapshot for a market in allium. Returns: market_id, as_of, mark, index, mid. Required: market_id, instrument (either `perps` or `spot`, consistent with the market_id). Snapshots are cached for ~60 seconds.
list_all_allium_market_ohlcv
List historical OHLCV candles for a market in allium. Returns: market_id, open_time, close_time, open, high, low, close, volume, trade_count. Required: market_id, interval, start_timestamp, end_timestamp. Query window is capped at 7 days per request.
list_all_allium_market_funding
List historical funding rates for a perpetual market in allium, collapsed into hourly buckets. Returns: market_id, ts, funding_rate, premium_index, interval_seconds. Required: market_id, start_timestamp, end_timestamp. Query window is capped at 7 days per request.
list_all_allium_market_open_interest
List open interest timeseries for a perpetual market in allium. Returns: market_id, ts, oi_base, oi_quote_usd. Required: market_id, interval, start_timestamp, end_timestamp. Query window is capped at 7 days per request.
list_all_allium_market_liquidations
List historical liquidation events for a perpetual market in allium, returned newest first. Returns: market_id, ts, size_base, price, notional_usd, side. Required: market_id, start_timestamp, end_timestamp. Query window is capped at 7 days per request.
list_all_allium_organization_usage
Get your Allium organization's current unit usage for the active billing and allocation period. Returns: billing_period_start, billing_period_end, allocation_period_start, allocation_period_end, allocation_cadence, allocation_amounts, consumed_amounts.
list_all_allium_beam_configs
List all allium Beam pipeline configurations accessible to the authenticated user. Returns an array of BeamConfig objects, each including id, name, description, pipeline_config, owner_org_team_user_id, organization_id, tags, static_egress_ip, pod_size, created_at, and updated_at.
create_a_allium_beam_config
Create a new allium Beam pipeline configuration. Returns the created BeamConfig including id, name, description, owner_org_team_user_id, pipeline_config, organization_id, created_at, updated_at, tags, static_egress_ip, and pod_size. Required: name, description, pipeline_config.
get_single_allium_beam_config_by_id
Get a single allium Beam pipeline configuration by id. Returns the full BeamConfig object including id, name, description, pipeline_config, owner_org_team_user_id, organization_id, created_at, updated_at, tags, static_egress_ip, and pod_size. Required: id.
update_a_allium_beam_config_by_id
Update an existing allium Beam pipeline configuration by id. Returns the updated BeamConfig including id, name, description, owner_org_team_user_id, pipeline_config, organization_id, created_at, updated_at, tags, static_egress_ip, and pod_size. Required: id, name, description, owner_org_team_user_id, pipeline_config.
delete_a_allium_beam_config_by_id
Delete an allium Beam pipeline configuration by id, permanently removing the config and tearing down all active deployment resources including Kafka topics, workers, and subscriptions. Returns: message. Required: id.
list_all_allium_beam_sources
List all available Allium Beam pipeline sources — the catalog of chain/entity combinations that can be used as a Beam pipeline input. Returns: chain, entity, is_zerolag. Optionally filter by chain, entity, or zerolag.
create_a_allium_beam_deployment
Deploy an Allium Beam pipeline config, creating Kafka topics, provisioning credentials, and spinning up workers. Deployment is idempotent — safe to call again after updating a config to apply changes with zero downtime. Returns: message. Required: config_id.
delete_a_allium_beam_deployment_by_id
Tear down a deployed Allium Beam pipeline, removing workers, Kafka topics, and subscriptions while preserving the pipeline config for future redeployment. Returns: message. Required: config_id.
list_all_allium_beam_deployment_stats
Get deployment stats for an Allium Beam pipeline configuration. Returns workers_health containing total_workers, healthy_workers, unhealthy_workers, crashing_workers, oom_killed_workers, and a workers array with per-worker fields including name, status, is_ready, is_crash_looping, is_oom_killed, restart_count, and start_time. Required: config_id.
list_all_allium_beam_deployment_metrics
List Allium Beam pipeline deployment metrics. Aggregated mode returns pipeline_id, messages_received_per_min, messages_sent_per_min, total_latency, processing_latency, processor_error_rate, output_error_rate, and data_freshness_ms. Time-series mode returns config_id and a metrics array with timestamped data points. Required: config_id.
update_a_allium_beam_transform_by_id
Update a single transform in an allium Beam pipeline by id. The pipeline is automatically redeployed after the update. Returns: script, uid. Required: config_id, id.
allium_beam_transforms_replace
Get a single allium Beam transform by id within a pipeline config. Returns: script, uid. Required: config_id, id.
allium_beam_transforms_partial_update
List all transforms configured for an allium Beam pipeline. Returns an array of transform objects each containing script, uid, and type. Required: config_id.
allium_beam_transforms_bulk_update
Replace all transforms for an allium Beam pipeline in a single call, handling add, remove, update, and reorder. The pipeline is automatically redeployed. Returns: added. Required: config_id. The transforms list cannot be empty; omit uid on new transforms to auto-generate one.
create_a_allium_beam_filter_value
Add values to an Allium Beam set filter transform. Duplicates are silently ignored and changes take effect immediately without redeploying. Returns: added. Required: config_id, transform_uid, values.
list_all_allium_beam_filter_values
List all values in an Allium Beam set filter transform, returned as a paginated collection. Returns: values, total_count, cursor. Required: config_id, transform_uid.
delete_a_allium_beam_filter_value_by_id
Remove specific values from an Allium Beam set filter transform. Changes take effect immediately without redeploying. Returns: removed. Required: config_id, transform_uid, values.
update_a_allium_beam_filter_value_by_id
Atomically replace all values in an Allium Beam set filter transform. An empty list clears the filter entirely. Changes take effect immediately without redeploying. Returns: count. Required: config_id, transform_uid, values.
list_all_allium_beam_filter_value_count
Count the total number of filter values for a specific transform in Allium Beam. Returns the scalar aggregate count of values currently held in the filter. Required: config_id, transform_uid.
list_all_allium_beam_filter_value_check
Check whether a specific value exists in a Beam set filter transform in Allium. Returns the checked value and its membership status: value, is_member. Required: config_id, transform_uid, value.
list_all_allium_beam_backfills
List all allium backfill jobs for the authenticated organization, ordered by creation time. Returns: job_id, workflow_id.
create_a_allium_beam_backfill
Create an allium backfill job that stages data from a Snowflake table for a given time window and streams it to one or more destinations. The job progresses through staging → transporting → completed (or failed/cancelled). Returns: job_id, workflow_id. Required: job_name, table, backfill_window, destinations. Currently only Base tables are supported.
allium_beam_backfills_cancel
Cancel a running allium backfill job by job_id. Sends a cancellation signal; the job stops at the next phase boundary and transitions to cancelled, with associated resources torn down automatically. Returns an empty 204 response on success. Required: job_id.
create_a_allium_beam_dataset
Create a new dataset in Allium Beam. Dataset names must be unique per user. Returns: id, name, created_at, updated_at. Required: name.
list_all_allium_beam_datasets
List all datasets belonging to the authenticated user in Allium Beam. Returns: id, name, created_at, updated_at, count. Optionally filter results to specific datasets by name.
delete_a_allium_beam_dataset_by_id
Permanently delete a dataset and all its entries in Allium Beam by id. This action is irreversible. Returns an empty 204 response on success. Required: id.
create_a_allium_beam_dataset_entry
Add string values to an Allium Beam dataset. Duplicates are silently ignored and changes are reflected immediately in lookups without requiring a redeploy. Returns: count. Required: dataset_id, values. Maximum 250,000 values per request.
list_all_allium_beam_dataset_entries
List all entries in an Allium Beam dataset, sorted alphabetically. Returns: values, cursor, total_count. Required: dataset_id.
delete_a_allium_beam_dataset_entry_by_id
Remove string values from an Allium Beam dataset. Non-existent values are silently ignored and changes take effect immediately without requiring a redeploy. Returns: count. Required: dataset_id, values.
get_single_allium_beam_dataset_entry_by_id
Check whether a specific value exists as an entry in an Allium Beam dataset. Returns a single boolean field: exists, indicating whether the looked-up value was found in the dataset. Required: dataset_id, entry.
create_a_allium_beam_dataset_entries_by_name
Add string values to an Allium Beam dataset identified by name. Duplicates are ignored and changes are reflected immediately in beam.contains() lookups. Returns: count. Required: name, values. Each request supports up to 250,000 values.
create_a_allium_stream_data_source
Create a new filter data source in allium for use in stream transformations. Returns: message, result_id. Required: name, type, description. The type field accepts string_array, int_array, or float_array.
list_all_allium_stream_data_sources
List all filter data sources in allium. Returns: id, name, description, message, result_id.
get_single_allium_stream_data_source_by_id
Get a single allium filter data source by id. Returns: id, name, description. Required: id.
delete_a_allium_stream_data_source_by_id
Delete an allium filter data source by id. Returns: message, result_id. Required: id.
update_a_allium_stream_data_source_value_by_id
Add or remove string values from a filter data source in allium. Returns: message. Required: data_source_id, operation, values.
list_all_allium_stream_data_source_values
List the string values stored in a filter data source in allium. Returns: message. Required: data_source_id.
create_a_allium_stream_filter
Create a new stream filter in allium for use in data stream transformations. Supports comparison operators (=, !=, >, >=, <, <=), the `in` operator for arrays or data sources, the `exists` operator for field-presence checks, and compound AND/OR logic. Returns: message, result_id, filter. Required: filter.
list_all_allium_stream_filters
List all allium stream filters. Optionally narrow results to a specific filter using the id query parameter. Returns: id, filter. The filter object contains the filter definition and may include field, operator, and value (simple filter), op and conditions (compound filter), or type and data_source_id (data-source filter).
get_single_allium_stream_filter_by_id
Get a single allium stream filter by id. Returns: id, filter. The filter object contains the filter definition and may include field, operator, and value (simple filter), op and conditions (compound filter), or type and data_source_id (data-source filter). Required: id.
update_a_allium_stream_filter_by_id
Update an existing allium stream filter by id, replacing its filter definition. Returns: message, result_id. Required: id, filter.
delete_a_allium_stream_filter_by_id
Delete an allium stream filter by id. Returns: message, result_id. Required: id.
create_a_allium_stream_workflow
Create a new allium workflow that connects a data source, filter, and destination for stream processing. Returns: id, filter_id, data_source_config, data_destination_config, description, external_workflow_id. Required: filter_id, data_source_config, data_destination_config. For PUSH delivery, webhook_url must also be provided inside data_destination_config.
list_all_allium_stream_workflows
List all allium workflows. Returns an array of workflow objects each including id, filter_id, data_source_config, data_destination_config, description, and external_workflow_id.
get_single_allium_stream_workflow_by_id
Get a single allium workflow by id. Returns: id, filter_id, data_source_config, data_destination_config, description, external_workflow_id. Required: id.
update_a_allium_stream_workflow_by_id
Update an existing allium workflow by id. Only filter_id and description can be modified. Returns: id, filter_id, data_source_config, data_destination_config, description, external_workflow_id. Required: id, filter_id.
delete_a_allium_stream_workflow_by_id
Delete an allium workflow by id. Returns: message. Required: id.
create_a_allium_explorer_query
Create a new saved Explorer query in Allium programmatically without using the Allium App interface. Returns: filter. Required: title, config. Maximum exportable rows is 250,000; this limit can be increased on request.
update_a_allium_explorer_query_by_id
Update an existing saved Explorer query in Allium by id. Modify the SQL, row limit, parameters, or compute profile of a previously created query. Returns: run_id. Required: id.
Why Truto
Why use Truto’s MCP server for Allium
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Allium in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Allium account
Use Truto’s frontend SDK to connect your customer’s Allium account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Allium
Truto’s Proxy API is a 1-to-1 mapping of the Allium API. You call us, we call Allium, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Allium’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Allium on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication to Allium work through Truto?
Allium uses API key authentication. Your end users (or your team, if you're the account holder) provide an Allium API key, and Truto stores and injects it into every request so you never handle credentials directly.
Can we run long-running Allium Explorer SQL queries without blocking our app?
Yes. Truto exposes both synchronous and asynchronous query run endpoints. For heavy workloads, submit an async run, poll the query run status endpoint, and fetch results once completed. You can also cancel in-flight runs.
How do we manage real-time streaming pipelines for each of our customers?
Truto exposes Allium Beam's full lifecycle: create and update Beam configs, list sources, deploy pipelines, monitor deployment stats and metrics, manage transforms and filter values, and run backfills. You can provision an isolated streaming setup per tenant.
How do we handle large or changing lists of wallets in a live stream?
Use Allium Beam datasets. Truto supports creating datasets, adding entries individually or by name, listing entries, and deleting them. Updates propagate to running streams without requiring a redeploy.
What blockchain data can we pull on demand versus streamed?
On-demand endpoints cover tokens, token prices and history, token transfers, assets, wallet balances and history, wallet transactions, wallet PnL (including per-token and historical), wallet positions, Polygon NFTs, and market data including OHLCV, funding, open interest, and liquidations. Streaming is handled via Beam and Stream workflows.
Can we track usage and costs per customer?
Yes. The organization usage endpoint lets you pull Allium usage metrics so you can attribute consumption back to specific tenants for billing, quota enforcement, or internal reporting.
From the Blog
Allium integration guides
Deep dives, architecture guides, and practical tutorials for building Allium integrations.
Allium
Get Allium integrated into your app
Our team understands what it takes to make a Allium integration successful. A short, crisp 30 minute call with folks who understand the problem.