{"data":{"behavior":"CONTINUOUS_WIGGLE","claim_id":"nfts_tx_type_counts_live","data_paths":["db.pg_connect() + nft_activity table (GROUP BY tx_type, close_time window)","nft_activity_walker.py: activity mode (5min cadence, 200-ledger batches)","xrpl_client.py:get_client \u2014 local rippled primary, s1/s2 public fallback","app.py:3365 nfts() \u2014 counts_24h + counts_7d + counts_all","templates/nfts.html: activity-by-tx-type card"],"finalized_window":false,"label":"Per-tx-type activity counts (24h + 7d): NFTokenMint, NFTokenAcceptOffer, NFTokenCreateOffer, NFTokenCancelOffer, NFTokenBurn","layer2_rules":["R1","R3"],"needs_trace":false,"note":null,"page":{"path":"/nfts","url":"https://xrpldashboard.com/nfts"},"risk_note":"Live tx-type counts are the paid-eligible-post-migration surface under SELLABLE_REQUIRES_SOVEREIGN_SOURCE (see docs/X402_RAILS_DARK_SCOPING.md \u00a7 Fence #2). Today's forward-walker uses xrpl_client's cascade \u2014 own rippled first, public s1/s2 fallback via `xrpl_node_fallback_used=True` when local is down. The layer3_source label reflects the intended sovereignty tier; walker_health records actual per-run fallback state.","sovereignty":{"layer3_source":"local_rippled","tier":"unknown"},"status":"unknown","status_reason":"Layer 3 source not yet classified for sovereignty tier. Defaulting to yellow-equivalent: treat as free-tier only pending explicit classification.","uri":"xrpl.nfts.tx_type_counts_live","verification":{"manifest_repo":"https://github.com/Enkryptedx/xrpldashboard/blob/main/CLAIMS.yaml","signed_snapshot_chain":"https://xrpldashboard.com/.well-known/snapshots/chain.json","walker_health":"https://xrpldashboard.com/coverage#walker-inventory"}},"proof":{"as_of":"2026-09-20T01:38:37Z","claims_ref":"xrpl.claims.uri_scheme","freshness_contract":"recomputed from CLAIMS.yaml on file change (mtime-cached)","honest_partial":false,"methodology_url":"https://xrpldashboard.com/methodology#for-ai-agents","source":"claims_manifest"}}
