> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniblock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Answers to the most common questions about using Uniblock, including API keys, routing, rate limits, errors, and debugging.

This page collects the most useful answers for teams evaluating, integrating, or operating Uniblock in production.

<Info>
  Looking for a full product introduction? Start with [Uniblock
  Overview](/guides/uniblock/overview-uniblock).
</Info>

## Quick links

<CardGroup cols={2}>
  <Card title="Getting Started" icon="rocket" href="#how-do-i-make-my-first-api-call">
    First API call, authentication basics, and quickstart path.
  </Card>

  <Card title="Routing and Reliability" icon="route" href="#is-auto-routing-enabled-by-default">
    Auto-routing, backup behavior, and provider failover.
  </Card>

  <Card title="Errors and Debugging" icon="bug" href="#what-does-a-429-mean">
    429/4xx guidance, JSON-RPC behavior, and debug flow.
  </Card>

  <Card title="Support and Coverage" icon="circle-question" href="#which-apis-does-uniblock-support">
    APIs, chain/provider coverage, MCP, and support.
  </Card>
</CardGroup>

## At a glance

| Topic                | Short answer                                 |
| -------------------- | -------------------------------------------- |
| Authentication       | Send API key via `x-api-key`                 |
| Auto-routing default | Enabled by default                           |
| `429` meaning        | Plan-level rate limit reached                |
| Normalized responses | Yes, for common Unified API endpoints        |
| Backup providers     | Help with provider failures, not plan limits |

## What is Uniblock?

Uniblock is a blockchain infrastructure layer that gives you one unified API across many chains and providers. Instead of integrating directly with providers like Alchemy, QuickNode, Infura, Moralis, or Covalent one by one, you send requests through Uniblock and get:

* One API key
* Auto-routing across providers
* Backup failover when providers have issues
* Normalized response formats
* Access to many supported chains through the same interface

If you are just getting started, use the [Unified API Quickstart](/guides/uniblock/unified-api-quickstart).

## Why use Uniblock instead of integrating with a single provider directly?

Use Uniblock when you want to reduce provider management overhead and improve reliability. A direct provider integration can be simpler if you only need one chain and one provider, but Uniblock is usually more valuable when you need:

* Multi-chain coverage
* Automatic failover
* Consistent schemas across providers
* Centralized analytics and logs
* One integration instead of managing multiple provider APIs and keys

## How do I make my first API call?

1. Create a project in the dashboard.
2. Copy your Uniblock API key.
3. Send the key in the request header.
4. Call a Unified API endpoint.

Example:

```bash theme={null}
curl --location \
  'https://api.uniblock.dev/uni/v1/token/balances?chainId=1&address=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb' \
  --header 'x-api-key: YOUR_API_KEY'
```

For a step-by-step walkthrough, see [Unified API Quickstart](/guides/uniblock/unified-api-quickstart).

## How do I authenticate requests?

Include your Uniblock API key in the request header as `x-api-key`. Every request to the Unified API should include a valid project key.

If you need more detail, see [Authentication](/guides/uniblock/authentication).

## Is auto-routing enabled by default?

Yes. Auto-routing is enabled by default for all Uniblock API keys. You do not need to manually choose a provider for standard usage.

Uniblock evaluates providers for reliability, latency, and cost, routes to the best available option, retries failures, and fails over to backups when needed.

See [Auto-routing](/guides/uniblock/autorouting/uniblock-auto-routing) for the full flow.

## Do backup providers prevent all failures?

No. Backup providers help when an upstream provider is unavailable, returns errors, or hits its own provider-specific limit. They do not override Uniblock plan-level limits.

If Uniblock returns a `429`, that means your project has reached the request limit included with your current plan. That is different from a provider-specific failure inside the routing layer.

See:

* [Backup Providers](/guides/uniblock/autorouting/uniblock-backup)
* [Error Codes & Rate Limits](/guides/uniblock/error-codes#rate-limits)

## What does a 429 mean?

A `429` means your project has reached the request limit available under your current Uniblock plan.

It does not mean:

* The API is down
* A provider outage occurred
* Backup routing failed

In most cases, you should reduce request frequency, retry with backoff, or move to a plan with more throughput.

## Does Uniblock normalize provider responses?

Yes. Uniblock transforms provider-specific responses into a unified format so your application does not need provider-specific parsing logic for common Unified API endpoints.

This is one of the main reasons to use Uniblock for multi-provider and multi-chain applications.

## Can I bring my own provider keys?

Yes. Uniblock supports custom fallback lists with external provider keys, which lets you consume your own provider credits first and keep Uniblock auto-routing as a final fallback.

This is useful if you already have relationships or spend commitments with specific providers.

See [Backup Providers](/guides/uniblock/autorouting/uniblock-backup).

## What is data consensus, and when should I use it?

Data consensus queries multiple providers and compares results to improve confidence in the returned data. It is most useful for critical reads where correctness matters more than the extra latency and cost.

Use it selectively for things like:

* Critical balance checks
* Pricing-sensitive workflows
* Auditing or verification flows

## Why did I get a 403?

Common reasons include:

* Your API key or project credentials are missing or invalid
* The API key has been disabled
* Your project does not have permission for the requested endpoint
* Your project does not have access to the requested blockchain network

If the response includes a Uniblock error code, check [Error Codes & Rate Limits](/guides/uniblock/error-codes) first and then verify your project configuration in the dashboard.

<Tip>
  Fast triage for `403`: verify API key validity, endpoint access, and chain
  permissions in the dashboard before retrying.
</Tip>

## Why did I get a 400?

A `400` usually means the request itself is invalid. Common examples include:

* Invalid query or body parameters
* Invalid blockchain address format
* Invalid transaction hash format
* Unsupported JSON-RPC method
* Pagination or cursor errors

These are usually not retryable until you fix the request.

## Why did I get a 422?

A `422` means the upstream provider returned a successful HTTP response, but Uniblock could not safely parse, transform, or validate the content.

This usually points to a provider response problem rather than a malformed request from your application.

If it persists:

1. Retry after a short delay.
2. Check API logs and request details.
3. Contact support with the request ID if the issue continues.

<Warning>
  Persistent `UR-422-*` errors usually indicate an upstream response issue.
  Include request ID and endpoint when contacting support.
</Warning>

## Why do some JSON-RPC errors return HTTP 200?

JSON-RPC errors can be returned inside a valid JSON-RPC response body while the HTTP layer still returns `200`. In those cases, the transport succeeded, but the JSON-RPC request itself failed.

That is why you may see things like:

* Parse error
* Invalid request
* Batch size exceeded

with an HTTP `200` plus a JSON-RPC error payload.

## How do I debug failed requests?

Start with these steps:

1. Check the HTTP status code.
2. Check the Uniblock error code if present.
3. Review the request parameters and headers.
4. Inspect API logs in the dashboard.
5. Look at provider attempts and failures if failover occurred.

The most useful docs are:

* [Analytics & Logs](/guides/uniblock/uniblock-analytics)
* [Error Codes & Rate Limits](/guides/uniblock/error-codes)

## Debug checklist

<Steps>
  <Step title="Classify by status code">
    Determine whether the failure is auth/permissions (`403`), request-shape (`400`), rate-limit (`429`), or response-processing (`422`).
  </Step>

  <Step title="Inspect request + context">
    Confirm headers, params, chain ID, and endpoint path. Keep the request ID for escalation.
  </Step>

  <Step title="Check logs and failover behavior">
    Use dashboard API logs to inspect latency, provider attempts, and failover paths.
  </Step>

  <Step title="Escalate with evidence">
    Share request ID, endpoint, time window, and sample payload with support.
  </Step>
</Steps>

## Where can I see which provider handled my request?

Use the API logs in the dashboard. Logs help you inspect request status, endpoint, response time, and provider activity, including failover attempts where applicable.

## Which APIs does Uniblock support?

Uniblock provides unified access across multiple API categories, including:

* Token APIs
* NFT APIs
* Transaction APIs
* Market data APIs
* Scans APIs
* JSON-RPC

The exact endpoint list is available in the API reference and explorer.

## Which chains and providers are supported?

Uniblock supports many blockchains and integrates with many blockchain data providers. The docs describe support for 160+ blockchains and 30+ providers.

For chain-by-chain details, check the supported chains and API reference sections in the docs.

## Does Uniblock support MCP?

Yes. Uniblock provides an MCP server that can be connected to compatible AI clients. This exposes Uniblock tools and Unified API endpoints through MCP.

See [MCP Setup](/reference/unified-api/uniblock-mcp-setup).

## What are Uniblock's official domains?

Uniblock operates across multiple domains for marketing and outreach. Use the list below to verify you're interacting with an official Uniblock property.

| Domain                                                   | What it's used for                    |
| -------------------------------------------------------- | ------------------------------------- |
| [uniblock.dev](https://uniblock.dev)                     | Main website and product entry points |
| [getuniblock.com](https://getuniblock.com)               | Outreach and campaign landing pages   |
| [docs.uniblock.dev](https://docs.uniblock.dev)           | Documentation (you are here)          |
| [dashboard.uniblock.dev](https://dashboard.uniblock.dev) | Dashboard (projects, API keys, usage) |

## When should I contact support?

Contact support when:

* You continue seeing the same `UR-422-*` response-processing issue
* Your project appears misconfigured but the dashboard does not explain why
* Your API key was disabled unexpectedly
* You need higher limits or custom access
* You have a request ID tied to a persistent internal or unclassified error

## What should I read next?

* [Overview](/guides/uniblock/overview-uniblock)
* [Unified API Quickstart](/guides/uniblock/unified-api-quickstart)
* [Auto-routing](/guides/uniblock/autorouting/uniblock-auto-routing)
* [Authentication](/guides/uniblock/authentication)
* [Analytics & Logs](/guides/uniblock/uniblock-analytics)
* [Error Codes & Rate Limits](/guides/uniblock/error-codes)

***

<Card title="Ready to get started with Uniblock?" icon="rocket" href="https://dashboard.uniblock.dev">
  Create your free account and start building with unified blockchain infrastructure across 100+ chains.
</Card>

<Card title="View API reference" icon="book" href="/reference/unified-api-reference-overview">
  Explore all available endpoints and interactive playgrounds
</Card>
