ForceX

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

NameLocationRequiredTypeDescription
includequerynostring | null
recent_limitquerynointeger (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

StatusDescription
200Successful Response
400Bad 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=`).
401Authentication required, or the supplied Bearer token is invalid or revoked. `error.code` = `auth_required`.
402Payment-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).
403Authenticated but the key lacks the required scope. `error.code` = `scope_insufficient`.
422Defense-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.
429Rate 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.
500Internal server error. `error.code` = `internal_error`. Reference `meta.request_id` when contacting support.
502Upstream 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.
503Service 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`.