# BlockVectra as an Infura Alternative: Cycle Credits and Usage Billing

> Original page: https://docs.blockvectra.com/en/guides/infura-alternative/

Choose BlockVectra to use a cycle CU balance for concentrated supported read tasks and pay for additional reads without a monthly RPC subscription.

## Comparison

Competitor figures verified on **2026-10-08**. Current BlockVectra figures are shown by the API-backed tables below.

| Metric                                            | Infura                                              | BlockVectra                                                                        | Sources                                                                                                                                                                                                                                       |
| ------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Free Ethereum `eth_call` budget, no other traffic | 3M credits/day ÷ 80 credits/call = 37,500 calls/day | Current cycle calls in the free-plan table below; use within the remaining balance | [Daily plans](https://docs.infura.io/get-started/pricing/), [method credits](https://docs.infura.io/get-started/pricing/credit-cost/), [plans](https://console-api.blockvectra.com/v1/plans), [chains](https://api.blockvectra.com/v1/chains) |
| Standard paid RPC subscription                    | Developer: $50/month, 15M credits/day included      | Usage billing without a monthly RPC subscription                                   | [Plan prices](https://www.infura.io/pricing), [plans](https://console-api.blockvectra.com/v1/plans), [chains](https://api.blockvectra.com/v1/chains)                                                                                          |

The free-budget row compares when credits can be used, not equal monthly allowances or measured throughput. A concentrated task needs enough remaining BlockVectra CU and must fit both account and key limits. No per-credit overage price is inferred from Infura subscription fees.

## Why choose BlockVectra

### Method prices and free-account budget

Method weights, USD conversion and the free-account budget below come from [GET /v1/plans](https://console-api.blockvectra.com/v1/plans). Chain limits come from [GET /v1/chains](https://api.blockvectra.com/v1/chains). Compare the same chain, method, block and complete result; splitting and retries change the number of calls.

**Active Conversion Parameters**

1 USD = 10,000 billing units, 1 billing unit = 1,000 CU (1 USD = 10,000,000 CU).

**Formula**: CU weight × 1,000,000 ÷ (10,000 × 1,000) USD.

| Method | CU per call | Price per 1M calls (USD) |
| --- | --- | --- |
| `eth_blockNumber` | 1 | $0.10 |
| `eth_call` | 15 | $1.50 |
| `eth_getLogs` | 30 | $3.00 |
| `debug_traceTransaction` | 100 | $10.00 |
| `data.block` | 5 | $0.50 |

The Free Plan requires registering an account and using an API key; all keys under an account share an average of 25 calls per second (short bursts allowed). At the end of each 30-day cycle, balances below 30,000,000 CU are refilled to 30,000,000 CU.

| Method | CU Weight | Approx Calls / Cycle | Approx / Day | List Price / 1M Calls |
| --- | --- | --- | --- | --- |
| `eth_blockNumber` | 1 | 30,000,000 | 1,000,000 | $0.10 |
| `eth_getBlockByNumber` | 5 | 6,000,000 | 200,000 | $0.50 |
| `eth_getBalance` | 10 | 3,000,000 | 100,000 | $1.00 |
| `eth_call` | 15 | 2,000,000 | 66,666 | $1.50 |
| `eth_getLogs` | 30 | 1,000,000 | 33,333 | $3.00 |
| `debug_traceTransaction` | 100 | 300,000 | 10,000 | $10.00 |
| `data.block` | 5 | 6,000,000 | 200,000 | $0.50 |
| `data.address_balances` | 25 | 1,200,000 | 40,000 | $2.50 |
| `data.dex_prices` | 15 | 2,000,000 | 66,666 | $1.50 |
| `data.transaction_trace` | 200 | 150,000 | 5,000 | $20.00 |

Free-account cap: up to 25 calls per second, shared across all keys in the account, all chains, and the Data API. Per-key `key_defaults.cu_per_sec` and `burst_cu` also apply. Eligible cycle refills top the free balance up to the target rather than adding a full grant. The first paid top-up stops cycle refills while preserving remaining free CU. See [free plan rules](https://docs.blockvectra.com/en/guides/free-plan/).

### A cycle balance for concentrated read tasks

For a hypothetical 50,000-call Ethereum `eth_call` task on one day, Infura needs `50,000 × 80 = 4M credits`, above its 3M daily free quota. For BlockVectra, multiply the same call count by the current `eth_call` weight and compare the cycle budget above with your actual remaining CU. Confirm the required blocks and pacing before running the job.

### Keyless trials and programmatic Agent funding

Try a listed `public.methods` method at the chain catalog's `public.url` before creating a key. For authenticated access, [programmatic sign-up](https://docs.blockvectra.com/en/guides/programmatic-signup/) lets an Agent create an account and key with a wallet signature. [Agent top-ups](https://docs.blockvectra.com/en/guides/agent-topup/) fund the same usage balance with stablecoins; read networks, tokens and minimums from [top-up status](https://api.blockvectra.com/v1/topup/status). Developers and AI Agents use the same prices and limits.

### Multi-chain address Push

Watch the same address set across several supported chains in one subscription, with one HTTPS receiver. This suits wallet activity and payment notifications without maintaining a socket per chain. See [self-service and enterprise address capacity](https://docs.blockvectra.com/en/guides/webhook-push/#address-capacity); [contact us](https://blockvectra.com/en/contact/) to enable enterprise capacity. Address-day and delivered-event charges are separate from RPC calls and are listed in [Push pricing](https://docs.blockvectra.com/en/guides/webhook-push/#billing-and-example).

RPC on Robinhood Chain and HyperEVM is listed in the [chain catalog](https://api.blockvectra.com/v1/chains). Check methods and Push support per network; use the [chain-specific starter guide](https://docs.blockvectra.com/en/guides/robinhood-chain/) and [HyperEVM backfill guide](https://docs.blockvectra.com/en/guides/hyperevm-backfill/) for the relevant workflow.

## Migration steps

1. **Inventory and coverage:** list chains, methods, fixed blocks, log spans and subscription dependencies. Check `methods.allow`, `methods.deny`, `public.methods`, `state_window_blocks` and `ws` in the [catalog](https://api.blockvectra.com/v1/chains). A null history window is unspecified, not archive coverage. A keyless `public.url` smoke test validates only its listed public methods.
2. **Key and authentication:** obtain a BlockVectra key through the [console](https://console.blockvectra.com/keys/) or [programmatic sign-up](https://docs.blockvectra.com/en/guides/programmatic-signup/). Keep it in your server environment. RPC accepts `POST /v1/{chain}/{api_key}` or `POST /v1/{chain}` with `x-api-key`; Data API uses `x-api-key`. This Ethereum WETH `decimals()` example uses the header:

```bash
if [ -z "$BLOCKVECTRA_API_KEY" ]; then
  echo "Set BLOCKVECTRA_API_KEY in your server environment"
  exit 1
fi

curl --fail-with-body -sS --max-time 15 https://api.blockvectra.com/v1/eth_mainnet \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: curl BlockVectraQA/1' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","data":"0x313ce567"},"latest"]}'
```

3. **Replay before switching:** replace `latest` with the same supported fixed block on both providers and record the block hash. Compare returned values and JSON-RPC `error`, even after HTTP 200. Test representative log queries, bounded retries, rate-limit recovery and cursor resume. Migrate proprietary APIs and subscriptions separately; move traffic after the required results match.

## FAQ

### Does a lower method price mean a lower total task cost?

Calculate `max(0, sum(calls × method CU) − available_free_cu) / (pricing.units_per_usd × pricing.cu_per_unit)`. Include splitting, retries and any services your task uses. Existing included credits change incremental costs; compare the complete result rather than billing-unit names.

### Can I migrate by changing the endpoint?

For supported standard RPC methods, update the endpoint and path key or `x-api-key` header, then replay fixed-block requests. Check historical state and method coverage first. Proprietary APIs, WebSocket subscriptions and Push receivers need their own migration tests; see [historical state](https://docs.blockvectra.com/en/guides/evm-historical-state/) and [Webhook versus WebSocket](https://docs.blockvectra.com/en/guides/webhook-vs-websocket/).

Use [How to choose an RPC provider](https://docs.blockvectra.com/en/guides/choose-rpc-provider/) for a workload checklist and self-tests.
