Chain
Chain Home
Network heartbeat, current tip context, and validation summary.
Page Sections
GET
/chain/home
Full URL: https://forcex.com/xtract/v1/litecoin/chain/home
Credit cost: 1 credit by default. Optional includes add cost.
curl -H "Authorization: Bearer fx_test_************" \
"https://forcex.com/xtract/v1/litecoin/chain/home"
Parameters
| Name | Location | Required | Type | Description |
|---|---|---|---|---|
include | query | no | string | null | — |
recent_limit | query | no | integer (min 1, max 100), default `25` | Maximum rows returned by the `recent_blocks` and `recent_transactions` include expansions. Defaults to 25 and caps at 100. Ignored when neither include is requested. |
Request Body
No request body.
Example Response
Representative trimmed response. Use the OpenAPI schema for the exhaustive field contract.
{
"data": {
"chain": "litecoin",
"tip_height": 3118767,
"tip_time": "2026-06-03T17:22:51Z",
"mempool_tx_count": 1797
},
"meta": {
"served_from": "indexed_store",
"validation": {
"scope": "chain",
"status": "validated",
"validated_height": 3118767,
"lag_blocks": 0
},
"credit_cost": 1
}
}
Documented Responses
| Status | Description |
|---|---|
200 | Successful Response |
400 | Bad request. The `error.code` field identifies the specific cause: `bad_request` (general validation failure, including malformed dates, out-of-order ranges, and request-body validation), `range_too_large` (date range exceeds the per-grain cap), `ambiguous_time_range` (legacy `from`/`to` and new `start`/`end` supplied with differing values), or `invalid_include` (unsupported expansion in `?include=`). |
401 | Authentication required, or the supplied Bearer token is invalid or revoked. `error.code` = `auth_required`. |
402 | Payment-tier gate. `error.code` identifies which gate fired: `subscription_required` (no active subscription on the account), `subscription_inactive` (subscription exists but is not active), `include_all_requires_paid_tier` (sandbox keys cannot request `?include=all`), `include_set_requires_paid_tier` (the requested include set exceeds the per-request cost cap for sandbox keys), `historical_scan_requires_paid_tier` (sandbox keys cannot scan outside the recent window), or `deep_pagination_requires_paid_tier` (sandbox keys cannot page beyond the depth cap). |
403 | Authenticated but the key lacks the required scope. `error.code` = `scope_insufficient`. |
422 | Defense-in-depth: the runtime maps standard request-shape validation errors to 400, so partners normally see 400 instead of 422. This status is declared so any edge-case validation path that bypasses the override is still typed. |
429 | Rate limit or credit budget exceeded. `error.code` identifies the window: `rate_limit_exceeded` (per-second or per-minute), `quota_exceeded_daily` (sandbox per-day budget), or `quota_exceeded` (per-subscription-period). The body carries a `window` field (`second`, `minute`, `day`, or `month`) naming the failing limit. Responses include the standard `Retry-After` header. |
500 | Internal server error. `error.code` = `internal_error`. Reference `meta.request_id` when contacting support. |
502 | Upstream Litecoin node was reached but returned an error or a non-2xx status (connection failure, timeout, or error payload). `error.code` = `upstream_unavailable`. Returned only on routes that read live node state: the mempool routes (`/mempool`, `/mempool/{txid}`) and `/chain/home` when `?include=mempool` is set. |
503 | Service or downstream data store is temporarily unavailable, or the endpoint is not implemented in this API version. `error.code` identifies the cause: `data_unavailable` (chain tip not yet populated), `audit_unavailable` (request completed but audit could not be acknowledged — safe to retry), `plan_misconfigured` (operational issue on the API side; not a tier problem), or `endpoint_not_available` (the route is reserved and not yet served in this version). |
Integration Notes
- Use this as the first integration smoke test after creating a key.
- The response carries chain validation metadata in `meta.validation`.