A

Pellet API — MPP Grade A

https://pelletfi.com 98% (100/102)
blockchaindata
Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

On-chain Activity

279 Total txs
279 7d txs
$13.91 7d volume
$13.91 Total volume
3 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 (11)

GET /api/mpp/addresses/{address} 0.01 USDC.e
MPP (paid) · Wallet intelligence — label + ERC-8004 + TIP-403 role forensics

MPP lookup for any Tempo address: human-readable label, ERC-8004 agent status (identity + reputation registry reads), and TIP-403 role forensics (which stablecoins grant this address minter/burner/pause authority). One round-trip; all on-chain measured. Unique vs. chain-generic wallet APIs (Nansen / Zerion / Codex) — nobody else indexes ERC-8004 + TIP-403 together on Tempo.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.010 minPrice: 0.010 network: tempo price: 0.010 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Any Tempo address (0x-prefixed, 42 hex chars). EOA, contract, or ERC-8004 agent.

Response Schema (200)

FieldTypeDescription
address string -
agent object -
coverage string -
coverage_note [string null] -
deferred array[string] Coverage gaps Pellet has NOT measured yet — agent should consider these open questions, not absence.
is_burn_blocked_by array[string] -
is_issuer_of array[string] -
is_minter_of array[string] -
is_pauser_of array[string] -
label [object null] -
policies_administered object Every tracked TIP-20 stablecoin where this address is the TIP-403 policy admin. Scans all KNOWN_STABLECOINS via multicall of getPolicy(token).
roles array[object] -
stats object -
GET /api/mpp/stablecoins 0 USDC.e
MPP (free, identity-only) · Full Tempo stablecoin matrix

Zero-charge MPP mirror of /api/v1/stablecoins. Same response shape; client proves wallet identity via a signed $0 voucher. Use this when you want the call to appear in your agent's MPP ledger or when consuming through an MPP-aware client.

Amount
0
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.000000 minPrice: 0.000000 network: tempo price: 0.000000 protocols: [mpp]

Response Schema (200)

FieldTypeDescription
stablecoins array -
GET /api/mpp/stablecoins/flows 0.01 USDC.e
MPP (paid) · Stablecoin DEX flow topology

Hourly net flow data between Tempo stablecoins routed through the enshrined Tempo DEX precompile. (from, to, net_flow_usd, tx_count) rows at 1h granularity.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.010 minPrice: 0.010 network: tempo price: 0.010 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
hours query integer No Lookback window in hours (default 24, max 168)

Response Schema (200)

FieldTypeDescription
flows array[object] -
hours integer -
GET /api/mpp/stablecoins/flow-anomalies 0.02 USDC.e
MPP (paid) · Cross-stable flow anomalies (≥3σ)

15-minute windows where flow on a (from, to) edge exceeded its 7-day rolling baseline by ≥3 standard deviations. Derived analytics on top of the hourly flow feed — priced above raw flows because it composes the z-score baseline plus the anomaly detection pass.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.020 minPrice: 0.020 network: tempo price: 0.020 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
limit query integer No Max number of anomaly records to return (default 20, max 100).

Response Schema (200)

FieldTypeDescription
anomalies array[object] -
as_of string (date-time) -
GET /api/mpp/stablecoins/{address}/peg 0.01 USDC.e
MPP (paid) · Peg sample + 1h/24h/7d aggregates

Current peg sample vs. pathUSD (direct on-chain DEX quote, sub-bp accuracy — not oracle estimate) plus rolling 1h/24h/7d aggregates. Supports historical snapshots via `?as_of=`. The sub-bp accuracy vs aggregator oracle feeds is the category story.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.010 minPrice: 0.010 network: tempo price: 0.010 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Stablecoin contract address (0x-prefixed, 42 hex chars). Tempo stablecoins are deployed via the TIP-20 factory and share a 0x20c0… prefix.
as_of query string No Optional historical snapshot timestamp. ISO8601, epoch seconds, or relative (e.g. '1h', '24h', '7d').

Response Schema (200)

FieldTypeDescription
address string -
as_of [string null] (date-time) -
current object -
windows array[object] -
GET /api/mpp/stablecoins/{address}/risk 0.05 USDC.e
MPP (paid) · Composite risk score 0–100

Composite risk score (0–100) with four explainable sub-scores: peg_risk, peg_break_risk, supply_risk, policy_risk. Each sub-score is measured independently, then combined into the composite. Supports historical snapshots via `?as_of=`.

Amount
0.05 (raw 50000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.050 minPrice: 0.050 network: tempo price: 0.050 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Stablecoin contract address (0x-prefixed, 42 hex chars). Tempo stablecoins are deployed via the TIP-20 factory and share a 0x20c0… prefix.
as_of query string No Optional historical snapshot timestamp.

Response Schema (200)

FieldTypeDescription
address string -
as_of [string null] (date-time) -
components object -
composite number -
GET /api/mpp/stablecoins/{address}/reserves 0.02 USDC.e
MPP (paid) · Reserve / backing breakdown

Total backing + per-reserve-type composition with attestation source and issuer. Priced at the analytics tier because each record resolves an attestation source plus the issuer-provided backing breakdown. Supports historical snapshots via `?as_of=`.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.020 minPrice: 0.020 network: tempo price: 0.020 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Stablecoin contract address (0x-prefixed, 42 hex chars). Tempo stablecoins are deployed via the TIP-20 factory and share a 0x20c0… prefix.
as_of query string No Optional historical snapshot timestamp.

Response Schema (200)

FieldTypeDescription
address string -
as_of [string null] (date-time) -
reserves array[object] -
total_backing_usd [number null] -
GET /api/mpp/tip403/simulate 0 USDC.e
MPP (free, identity-only) · Pre-trade compliance oracle for TIP-20 transfers

Zero-charge MPP mirror of /api/v1/tip403/simulate. Agents go through the standard 402 identity challenge (signing a $0 voucher) and receive the same simulation result. Use this when you want the call to appear in your agent's MPP ledger or when consuming Pellet through an MPP-aware client. Protocol-level use case: every agent should call this before submitting a TIP-20 transfer, to avoid wasting gas on a revert.

Amount
0
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid network: tempo price: 0.000000 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
from query string Yes Sender address (0x-prefixed, 42 hex chars)
to query string Yes Recipient address (0x-prefixed, 42 hex chars)
token query string Yes Token contract address. TIP-20 addresses on Tempo use the 0x20c0… factory-deployed pattern.
amount query string No Optional raw uint256 decimal string (e.g. '1000000' for 1 USDC.e given 6 decimals). If provided, sender balance is checked after policy authorization.

Response Schema (200)

FieldTypeDescription
balance [object null] -
blockedBy [string null] -
blockedParty [string null] -
coverage string -
coverage_note [string null] -
policyAdmin [string null] -
policyId [integer null] -
policyType [string null] -
reason string -
recipient object -
sender object -
simulatedAtBlock string -
willSucceed [boolean null] true = pass, false = blocked (see blockedBy), null = unknown (coverage:partial). Do NOT interpret null as false.
GET /api/mpp/stablecoins/{address}/rewards 0.1 USDC.e
MPP (paid, first-mover) · TIP-20 reward attribution + APY

On-chain reward data via the TIP-20 reward precompile: opted-in supply, global reward-per-token accumulator, funder attribution, and effective APY. Pellet is the first and only service on Tempo indexing the TIP-20 reward precompile — no peer anywhere. This is a yield-allocation input; priced at the first-mover tier because no competitive parity exists. Supports historical snapshots via `?as_of=`.

Amount
0.1 (raw 100000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.100 minPrice: 0.100 network: tempo price: 0.100 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Stablecoin contract address (0x-prefixed, 42 hex chars). Tempo stablecoins are deployed via the TIP-20 factory and share a 0x20c0… prefix.
as_of query string No Optional historical snapshot timestamp.

Response Schema (200)

FieldTypeDescription
address string -
as_of [string null] (date-time) -
effective_apy [number null] Annualized yield on opted-in supply, or null if no emissions in window
funders array[object] -
global_reward_per_token [string null] -
opted_in_supply string Raw uint256 — divide by decimals for human form
recent_distributions array[object] -
GET /api/mpp/tokens/{address}/briefing 0.2 USDC.e
MPP paid · Deep briefing for any Tempo TIP-20 stablecoin

MPP-discoverable mirror of /api/v1/tokens/{address}/briefing. Identical output — peg, policy, reserves, rewards, risk, flows, role holders, plus a coverage & provenance ledger (per-section complete|partial|unavailable flags, block-pinned reproducibility, and the data lineage map for every section). Pure measurement, no model synthesis. Lives at /api/mpp/* so MPPScan's directory crawler indexes it alongside the other measurement routes.

Amount
0.2 (raw 200000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.200 minPrice: 0.200 network: tempo price: 0.200 protocols: [mpp]

Parameters

NameInTypeRequiredDescription
address path string Yes Token contract address (0x-prefixed, 42 hex chars). The token must exist on Tempo mainnet.
refresh query boolean No If true, bypasses any cached briefing and forces recomputation.
sections query string No Comma-separated list of sections to include. Allowed: market, safety, compliance, holders, identity, origin, evaluation. Default: all.

Response Schema (200)

{
  "$ref": "#/components/schemas/BriefingResult"
}
GET /api/v1/tokens/{address}/briefing 0.2 USDC.e
Deep briefing for any Tempo TIP-20 stablecoin — peg, policy, reserves, rewards, risk, flows, role holders, on-chain measured

Runs the full Pellet Open-Ledger Interface (OLI) pipeline for any Tempo TIP-20 stablecoin and returns a structured briefing document covering: live peg spread vs pathUSD (direct on-chain DEX measurement, not oracle estimate), TIP-403 policy enforcement (allowlist / blocklist / compound, pause state, supply cap headroom), reserve and backing breakdown with attestation source, TIP-20 reward attribution and effective APY, fee-token economics, composite risk score (0–100) with explainable sub-scores (peg_risk, peg_break_risk, supply_risk, policy_risk), DEX flow topology and cross-stable flow anomalies, role-holder enumeration (admin / minter / burner), peg-break event history, and a coverage & provenance ledger (per-section complete|partial|unavailable flags, block-pinned reproducibility, and the on-chain data lineage map for every section). Every numeric value is a direct on-chain measurement — null when unmeasured, never a synthetic estimate, no model synthesis.

Amount
0.2 (raw 200000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: authMode: paid maxPrice: 0.200 minPrice: 0.200 network: tempo price: 0.200 protocols: [x402]

Parameters

NameInTypeRequiredDescription
address path string Yes Token contract address (0x-prefixed, 42 hex chars). The token must exist on Tempo mainnet.
refresh query boolean No If true, bypasses any cached briefing and forces recomputation. Default: false (current implementation always computes fresh — this flag is reserved for future caching).
sections query string No Comma-separated list of sections to include in the response. Allowed values: market, safety, compliance, holders, identity, origin, evaluation. Default: all sections.

Input Schema

{
  "additionalProperties": false,
  "type": "object"
}

Response Schema (200)

{
  "$ref": "#/components/schemas/BriefingResult"
}

Payment Methods

Methods
tempo
Intents
charge
Currencies (discovery)
USDC.e
Multiple Challenges
No

Recipients

  • 0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
Per-endpoint breakdown
GET /api/mpp/addresses/{address}
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
GET /api/mpp/stablecoins
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
GET /api/mpp/stablecoins/flow-anomalies
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
GET /api/mpp/stablecoins/flows
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
GET /api/mpp/stablecoins/{address}/peg
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe
GET /api/mpp/stablecoins/{address}/risk
0x0Ce3d541f48c5c6543b84bd2FD9CBae0Fb9FeaFe

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (52ms)
Challenge
Reachable (213ms)
Last Checked

Schema Completeness

Paid Operations
11
With Input Schema
1
With Description
11
10 missing schema
  • GET /api/mpp/addresses/{address}
  • GET /api/mpp/stablecoins
  • GET /api/mpp/stablecoins/flows
  • GET /api/mpp/stablecoins/flow-anomalies
  • GET /api/mpp/stablecoins/{address}/peg
  • GET /api/mpp/stablecoins/{address}/risk
  • GET /api/mpp/stablecoins/{address}/reserves
  • GET /api/mpp/tip403/simulate
  • GET /api/mpp/stablecoins/{address}/rewards
  • GET /api/mpp/tokens/{address}/briefing

Documentation

Homepage
https://pelletfi.com
API Reference
https://pelletfi.com/docs/api
llms.txt
https://pelletfi.com/docs/oli reachable

Discovery

OpenAPI URL
https://pelletfi.com/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
52344 bytes
Document Hash
f40091659192bf85733dfda359a20417ee803e449e20bf381d6c8e8dc732d338

Version History (4 snapshots)

  • document hash changed (no semantic differences detected)
  • price changed on GET /api/mpp/addresses/{address}: 0 → 10000
  • price changed on GET /api/mpp/stablecoins/flow-anomalies: 0 → 20000
  • price changed on GET /api/mpp/stablecoins/flows: 0 → 10000
  • price changed on GET /api/mpp/stablecoins/{address}/peg: 0 → 10000
  • price changed on GET /api/mpp/stablecoins/{address}/reserves: 0 → 20000
  • price changed on GET /api/mpp/stablecoins/{address}/rewards: 0 → 100000
  • price changed on GET /api/mpp/stablecoins/{address}/risk: 0 → 50000
  • price changed on GET /api/mpp/tokens/{address}/briefing: 50000 → 200000
  • price changed on GET /api/v1/tokens/{address}/briefing: 50000 → 200000
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • new endpoint: GET /api/mpp/addresses/{address}
  • document hash changed (no semantic differences detected)
  • new endpoint: GET /api/mpp/tip403/simulate
  • new endpoint: GET /api/mpp/tokens/{address}/briefing
Grade: B (85%) → A (98%)
  • new endpoint: GET /api/mpp/stablecoins
  • new endpoint: GET /api/mpp/stablecoins/flow-anomalies
  • new endpoint: GET /api/mpp/stablecoins/flows
  • new endpoint: GET /api/mpp/stablecoins/{address}/peg
  • new endpoint: GET /api/mpp/stablecoins/{address}/reserves
  • new endpoint: GET /api/mpp/stablecoins/{address}/rewards
  • new endpoint: GET /api/mpp/stablecoins/{address}/risk
Grade: A (98%) → B (85%)
  • document hash changed (no semantic differences detected)
Scan snapshots
Date Grade Score Response Status
2026-04-16 A 98% 858ms Up
2026-04-17 A 98% 70ms Up
2026-04-18 A 98% 72ms Up
2026-04-19 A 98% 55ms Up