# Animica Block-Production Concentration Distribution

> Animica Block-Production Concentration Distribution is a paid API for AI agents from animica.dev, paid per call via x402, $0.002521/call, status unknown (last checked 2026-09-15).

Returns block-production concentration metrics for the Animica L1 blockchain over a configurable window of recent blocks, including HHI, Gini coefficient, Nakamoto coefficient, and per-producer shares, with optional comparison to the prior window.

## Facts

- Endpoint: POST https://animica.dev/x402/chain/distribution
- Price: $0.002521/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/animica-block-production-concentration-distribution-19e77ce9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tkn1m3xdgj5MBp5Jrp36a

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability animica-block-production-concentration-distribution-19e77ce9 -d '<json body>'
```

Example prompt: Check the Animica L1 block-production concentration over the last 300 blocks — show me the top 10 producers, the HHI, Gini, and Nakamoto coefficient at 33% and 50%, and compare it to the prior window so I can see if things are getting more or less centralized.

## When to prefer this

Use this endpoint when you need deterministic, on-chain concentration metrics for the Animica L1 specifically — particularly when evaluating finality risk, monitoring validator centralization over time, or auditing decentralization before committing transactions or capital. Prefer it over generic blockchain explorers when you need structured metrics like HHI, Gini, or Nakamoto coefficient with a pinned block-range reference and optional window comparison, rather than raw block data you'd have to compute yourself.

## Known failure modes

- Producer data unreadable — endpoint charges nothing and returns an error indicating data unavailability
- Block window below minimum of 20 blocks — request refused with validation error
- Attestation requested but signer unavailable — request refused and no charge applied
- Margin value out of 0–1000 range — validation error returned
- Top value outside 1–200 range — request rejected

## How this service works

Block-production concentration on the Animica L1 over the last N blocks: every producer with its block count and share, HHI, Gini, effective producers, top-producer share and Nakamoto coefficient at 33/50/66%, plus the same over the contiguous prior window and the delta. Deterministic, no model; every figure pinned to the block range and head it was computed at. Buy before trusting this chain's finality, or to watch concentration move. Charges nothing when producer data cannot be read.

## Output

A JSON object containing: a ranked list of producers with block counts and shares (up to the requested top-N, with the rest aggregated), HHI, Gini coefficient, effective producer count, top-producer share, Nakamoto coefficient at 33%, 50%, and 66% thresholds, the chain head and block range the measurement was pinned to, and optionally the same metrics for the contiguous prior window plus per-metric deltas. If attestation is requested, includes an ML-DSA-65 signed digest.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "top": {
   "type": "integer",
   "description": "how many producer rows to return, 1..200 (default 25). Producers beyond it are aggregated, never dropped silently."
  },
  "attest": {
   "type": "boolean",
   "description": "sign the response with this gateway's ML-DSA-65 (FIPS 204, scheme 4099) key so a third party can verify the measurement offline (default false). Refuses and charges nothing if the signer is unavailable."
  },
  "blocks": {
   "type": "integer",
   "description": "window size in blocks, 20..500 (default 200). Smaller windows are refused because concentration over a handful of blocks is noise."
  },
  "margin": {
   "type": "integer",
   "description": "how many blocks below the head to stop, 0..1000 (default: the gateway's reorg margin). Raise it to measure a window that is already settled."
  },
  "compare": {
   "type": "boolean",
   "description": "also sweep the contiguous window of the same size immediately below this one and report the change (default true). false halves the node work and omits every delta."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/animica-block-production-concentration-distribution-19e77ce9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from animica.dev](https://www.zero.xyz/host/animica.dev/llms.txt)
