The Admin API lets you manage Alchemy apps, list supported networks, and inspect compute unit usage without using the Alchemy Dashboard. Use it for automation, compliance, billing alerts, and enterprise workflows.
An App represents a single Alchemy project. You create an app, configure which networks it can access, and optionally restrict usage via allowlists. All app changes are applied immediately.
Usage data includes compute unit totals, estimated USD cost, billing period boundaries, and optional breakdowns by app, network, method, and request type.
Use this API to:
- Create and delete apps
- Update app metadata and configuration
- Manage network and allowlist settings
- Retrieve app details
- Query supported networks
- Retrieve account usage summaries for the current billing period and recent rolling windows
- Query usage time series with hourly or daily granularity
- Filter usage by app, network, method, and request type
- Group usage results by up to three dimensions: request type, app, network, or method
Each request is authenticated and returns JSON responses.
All requests must include an access key. Grant only the permissions the caller needs:
- App Management read or read and write, for apps and chains
- Usage read (
ADMIN_USAGE_READ), for Usage API endpoints
You can also authenticate usage requests with a dashboard user session token that has the viewer, developer, or admin role.
To create an access key:
- Go to the security tab in the Alchemy Dashboard
- Create a new access key
- Enable App Management and/or Usage with the permissions you need
Plan tier sets how far back you can query. Each time-series request also has a
maximum span of 30 days between startTime and endTime.
| Plan | Maximum lookback |
|---|---|
| Free | 1 day |
| Pay as You Go | 7 days |
| Enterprise | up to 90 days (when enabled for your team) |
| Longer ranges | Contact sales |
If you request a range that starts before your plan allows, the API clamps the start and omits older buckets.
If endTime minus startTime is more than 30 days, the API returns HTTP 400.
Long ranges require multiple queries. Each query may span at most 30 days.
When a time-series response includes cursor, send it on the next request with
the same startTime, filters, and groupBy. endTime may be omitted; the
cursor keeps the original range.
Cursors expire 15 minutes after they are issued.
Cursor follow-up pages are not counted against the distinct-payload rate limit. Only the first page of each query counts toward your per-minute query budget.
The products field on the time series endpoint selects which meter to query.
If you omit products, the API uses SUPERNODE_CU. That meter is core RPC only. It does not include Enhanced APIs.
You can pass more than one product when those products share a unit. A request cannot mix CU products with SOLANA_GRPC_TB or SPONSORED_GAS.
For CU prices per method, see Compute Units.
products value | What it measures | Unit |
|---|---|---|
SUPERNODE_CU | Core RPC (default). Node methods, including eth_* and Solana JSON-RPC. | CU |
SUPERNODE_ENHANCED_CU | Enhanced APIs: NFT, Token, Transfers, Portfolio, and Prices. | CU |
SOLANA_ARCHIVAL_CU | Solana archival RPC. Historical Solana reads. | CU |
BLAST_CU | Blast RPC. | CU |
SPONSORED_GAS | Gas Manager sponsored transactions. | sponsored gas |
SOLANA_GRPC_TB | Solana Yellowstone gRPC streams. | TB |
A dashboard-style CU query uses both core RPC and Enhanced APIs:
"products": ["SUPERNODE_CU", "SUPERNODE_ENHANCED_CU"]