C
Celenium API — MPP Grade C
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
On-chain Activity
166
Total txs
166
7d txs
$0.20
7d volume
$0.20
Total volume
4
Unique payers
0
Unique clients
7-day activity
▁▁▁█▁▁▁
Compliance Checks
All paid ops declare 402 response
MUST
10pt
All x-payment-info valid
MUST
10pt
Challenge has Cache-Control: no-store
MUST
5pt
Challenge digest on POST
SHOULD
3pt
Challenge has expires
SHOULD
3pt
Challenge has Problem Details
SHOULD
2pt
Challenge has required params
MUST
5pt
Challenge has WWW-Authenticate
MUST
5pt
Challenge returns 402
MUST
10pt
Correct Content-Type
MUST
5pt
Has Cache-Control on discovery
SHOULD
5pt
Has input schemas
SHOULD
5pt
Has llms.txt
SHOULD
5pt
Has /openapi.json at root
MUST
10pt
Has required top-level fields
MUST
10pt
Served over HTTPS
MUST
10pt
Uses standard categories
SHOULD
2pt
Paid Operations (23)
GET /v1/head dynamic
Get current indexer state (last indexed height, lag)
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| format | query | string | No | Response format |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| last_height | integer | - |
| last_time | string | - |
| total_blocks | integer | - |
GET /v1/constants dynamic
Get network protocol constants (chain ID, blob params, gov params)
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| module | query | string | No | Filter constants by module name (e.g. blob, gov, staking) |
Response Schema (200)
{
"type": "object"
}
GET /v1/block dynamic
List blocks in descending order
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return (1-100) |
| offset | query | integer | No | Pagination offset |
| sort | query | string | No | Sort order |
| stats | query | boolean | No | Include block stats |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/block/{height} dynamic
Get block by height
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| height | path | integer | Yes | Block height |
| stats | query | boolean | No | Include block stats |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| hash | string | - |
| height | integer | - |
| proposer | object | - |
| time | string | - |
GET /v1/block/{height}/stats dynamic
Aggregated stats for a block (tx count, gas, bytes, fees)
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| height | path | integer | Yes | Block height |
Response Schema (200)
{
"type": "object"
}
GET /v1/address dynamic
List Celestia addresses with balances
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return (1-100) |
| offset | query | integer | No | Pagination offset |
| sort | query | string | No | Sort order |
| sort_by | query | string | No | Field to sort by |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/address/{hash} dynamic
Get address details: balances, delegations
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Celestia address hash (celestia1... or hex) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| delegated | string | - |
| hash | string | - |
| spendable | string | - |
| unbonding | string | - |
GET /v1/address/{hash}/txs dynamic
List transactions sent by or affecting an address
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Celestia address hash |
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
| status | query | string | No | Filter by status |
| msg_type | query | string | No | Comma-separated message types |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/tx dynamic
List transactions with filtering
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
| status | query | string | No | Filter by status |
| msg_type | query | string | No | Comma-separated message types |
| from | query | integer | No | Start unix timestamp |
| to | query | integer | No | End unix timestamp |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/tx/{hash} dynamic
Get transaction details by hash
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Transaction hash in hexadecimal |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| gas_used | integer | - |
| hash | string | - |
| height | integer | - |
| status | string | - |
GET /v1/tx/{hash}/messages dynamic
List messages in a transaction
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Transaction hash in hexadecimal |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/blob dynamic
List blobs with filtering by namespace, signer, time
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
| namespace_id | query | string | No | Filter by namespace ID (hex) |
| signers | query | string | No | Comma-separated signer addresses |
| from | query | integer | No | Start unix timestamp |
| to | query | integer | No | End unix timestamp |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/namespace dynamic
List namespaces sorted by activity
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
| sort_by | query | string | No | Field to sort by |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/namespace/{id}/{version}/blobs dynamic
List blobs stored under a namespace
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Hex-encoded namespace ID |
| version | path | integer | Yes | Namespace version |
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/namespace_by_hash/{hash} dynamic
Look up namespace by base64-encoded hash
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| hash | path | string | Yes | Base64-encoded namespace hash |
Response Schema (200)
{
"type": "object"
}
GET /v1/validators dynamic
List validators with voting power and commission
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/validators/{id} dynamic
Get validator details by internal ID
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | Yes | Validator internal ID |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| address | string | - |
| commission | string | - |
| moniker | string | - |
| voting_power | string | - |
GET /v1/rollup dynamic
List Layer 2 rollups posting blobs to Celestia
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | Max items to return |
| offset | query | integer | No | Pagination offset |
| sort_by | query | string | No | Field to sort by |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/rollup/{id} dynamic
Get rollup details by internal ID
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | integer | Yes | Rollup internal ID |
Response Schema (200)
{
"type": "object"
}
GET /v1/search dynamic
Search across blocks, transactions, addresses, namespaces, validators by hash
- Amount
- map[amount:0.001000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.001000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| query | query | string | Yes | Search string (hash, address, or identifier) |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/stats/tps dynamic
Get current transactions-per-second metrics
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| window | query | string | No | Time window for TPS calculation |
Response Schema (200)
{
"type": "object"
}
GET /v1/stats/series/{name}/{timeframe} dynamic
Get network-wide time-series data
- Amount
- map[amount:0.005000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.005000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| name | path | string | Yes | Metric name |
| timeframe | path | string | Yes | Aggregation timeframe |
| from | query | integer | No | Start unix timestamp |
| to | query | integer | No | End unix timestamp |
Response Schema (200)
{
"items": {
"type": "object"
},
"type": "array"
}
GET /v1/stats/price/current dynamic
Get current TIA price
- Amount
- map[amount:0.002000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.002000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:USDC intent:charge method:tempo]]]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| currency | query | string | No | Quote currency for price |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| price | string | - |
| time | string | - |
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- Multiple Challenges
- No
Recipients
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
Per-endpoint breakdown
- GET /v1/address
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
- GET /v1/block
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
- GET /v1/block/{height}
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
- GET /v1/block/{height}/stats
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
- GET /v1/constants
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
- GET /v1/head
- 0x4AD353fA712ad83A44C92Db9e96492d3D366C255
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (93ms)
- Challenge
- Reachable (106ms)
- Last Checked
Schema Completeness
- Paid Operations
- 23
- With Input Schema
- 0
- With Description
- 23
23 missing schema
- GET /v1/head
- GET /v1/constants
- GET /v1/block
- GET /v1/block/{height}
- GET /v1/block/{height}/stats
- GET /v1/address
- GET /v1/address/{hash}
- GET /v1/address/{hash}/txs
- GET /v1/tx
- GET /v1/tx/{hash}
- GET /v1/tx/{hash}/messages
- GET /v1/blob
- GET /v1/namespace
- GET /v1/namespace/{id}/{version}/blobs
- GET /v1/namespace_by_hash/{hash}
- GET /v1/validators
- GET /v1/validators/{id}
- GET /v1/rollup
- GET /v1/rollup/{id}
- GET /v1/search
- GET /v1/stats/tps
- GET /v1/stats/series/{name}/{timeframe}
- GET /v1/stats/price/current
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://mpp.celenium.io/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 1.0.0
- Document Size
- 29377 bytes
- Document Hash
- b128d3cc2be6fe71cd70b1051367555e64edc8f1e335145ec92c9fc45b1ffe12
Version History (4 snapshots)
Grade: D (54%) → C (73%)
Grade: C (73%) → D (54%)
- document hash changed (no semantic differences detected)
- new endpoint: GET /v1/address
- new endpoint: GET /v1/address/{hash}
- new endpoint: GET /v1/address/{hash}/txs
- new endpoint: GET /v1/blob
- new endpoint: GET /v1/block
- new endpoint: GET /v1/block/{height}
- new endpoint: GET /v1/block/{height}/stats
- new endpoint: GET /v1/constants
- new endpoint: GET /v1/head
- new endpoint: GET /v1/namespace
- new endpoint: GET /v1/namespace/{id}/{version}/blobs
- new endpoint: GET /v1/namespace_by_hash/{hash}
- new endpoint: GET /v1/rollup
- new endpoint: GET /v1/rollup/{id}
- new endpoint: GET /v1/search
- new endpoint: GET /v1/stats/price/current
- new endpoint: GET /v1/stats/series/{name}/{timeframe}
- new endpoint: GET /v1/stats/tps
- new endpoint: GET /v1/tx
- new endpoint: GET /v1/tx/{hash}
- new endpoint: GET /v1/tx/{hash}/messages
- new endpoint: GET /v1/validators
- new endpoint: GET /v1/validators/{id}
- removed endpoint: GET /address
- removed endpoint: GET /address/count
- removed endpoint: GET /address/{hash}
- removed endpoint: GET /address/{hash}/blobs
- removed endpoint: GET /address/{hash}/delegations
- removed endpoint: GET /address/{hash}/messages
- removed endpoint: GET /address/{hash}/redelegations
- removed endpoint: GET /address/{hash}/stats/{name}/{timeframe}
- removed endpoint: GET /address/{hash}/txs
- removed endpoint: GET /address/{hash}/undelegations
- removed endpoint: GET /address/{hash}/votes
- removed endpoint: GET /blob
- removed endpoint: GET /blob/count
- removed endpoint: GET /blob/exports
- removed endpoint: GET /block
- removed endpoint: GET /block/count
- removed endpoint: GET /block/head
- removed endpoint: GET /block/{height}
- removed endpoint: GET /block/{height}/events
- removed endpoint: GET /block/{height}/messages
- removed endpoint: GET /block/{height}/stats
- removed endpoint: GET /block/{height}/txs
- removed endpoint: GET /celestials
- removed endpoint: GET /celestials/{id}
- removed endpoint: GET /constants
- removed endpoint: GET /gov/proposal
- removed endpoint: GET /gov/proposal/{id}
- removed endpoint: GET /gov/tally
- removed endpoint: GET /head
- removed endpoint: GET /ibc/channel
- removed endpoint: GET /ibc/client
- removed endpoint: GET /ibc/connection
- removed endpoint: GET /namespace
- removed endpoint: GET /namespace/by_hash/{hash}
- removed endpoint: GET /namespace/count
- removed endpoint: GET /namespace/{id}
- removed endpoint: GET /namespace/{id}/{version}
- removed endpoint: GET /namespace/{id}/{version}/blobs
- removed endpoint: GET /namespace/{id}/{version}/messages
- removed endpoint: GET /namespace/{id}/{version}/stats/{name}/{timeframe}
- removed endpoint: GET /rollup
- removed endpoint: GET /rollup/{id}
- removed endpoint: GET /rollup/{id}/blobs
- removed endpoint: GET /search
- removed endpoint: GET /stats/price/{timeframe}
- removed endpoint: GET /stats/series/{name}/{timeframe}
- removed endpoint: GET /stats/summary
- removed endpoint: GET /tx
- removed endpoint: GET /tx/count
- removed endpoint: GET /tx/{hash}
- removed endpoint: GET /tx/{hash}/blobs
- removed endpoint: GET /tx/{hash}/events
- removed endpoint: GET /tx/{hash}/messages
- removed endpoint: GET /validator
- removed endpoint: GET /validator/count
- removed endpoint: GET /validator/{id}
- removed endpoint: GET /validator/{id}/blocks
- removed endpoint: GET /validator/{id}/delegators
- removed endpoint: GET /validator/{id}/stats/{name}/{timeframe}
- removed endpoint: GET /validator/{id}/uptime
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-04-14 | C | 73% | 107ms | Up |
| 2026-04-15 | C | 73% | 96ms | Up |
| 2026-04-16 | C | 73% | 93ms | Up |
| 2026-04-17 | C | 73% | 89ms | Up |