Build appviews from Tezos facts.
TZ2AT gives builders a Tezos-to-AT Protocol data route: current chain facts, selected OBJKT enrichment, wallet hydration, event grammar, semantic noun repos, and firehose streams your appview can consume.
Start from wallet, contract, marketplace, currency, platform, or chain repos in the PDS tree and follow graph edges outward.
Use wss://tz2at.xyz/firehose for normalized JSON events, or the ATProto sync firehose for repo commits.
Wake hydration jobs when a user or product view needs older wallet data. Hydration never blocks the rolling indexer.
Event grammar
Blockchain and marketplace records are statements. The verbs are event types: sale, offer, transfer, listing, curation add, wallet claim, and similar actions. The nouns are the identity-centered subjects and objects: wallets, contracts, tokens, marketplaces, currencies, platforms, and chains. Parameters carry the details that modify the statement.
TZ2AT turns that grammar into system structure. Nouns become categorized repos or repo-local graph nodes. Verbs become event records stored in those repos. The placement of the record is part of the context, which helps appviews reconstruct semantic maps instead of guessing from a flat stream.
Core surfaces
Fast prototype
const ws = new WebSocket("wss://tz2at.xyz/firehose");
ws.onmessage = (message) => {
const envelope = JSON.parse(message.data);
// derive your appview state
};Useful endpoints
GET /healthfor service freshness.GET /ops/statusfor queue and publication state.GET /api/semantic/nounsfor repo discovery.GET /api/semantic/tokens/:network/:contract/:tokenIdfor token projection.POST /hydrate/wallet/asyncfor user-requested wallet history.
Builder rule of thumb
TZ2AT publishes sourced facts and semantic graph anchors. Your appview should own product interpretation: ranking, alerts, post templates, collector profiles, game logic, and community-specific meaning.
Preserve provenance when you derive new views. A raw Octez fact, TzKT hydration record, OBJKT enrichment row, wallet proof, and lifecycle historian anchor should remain explainable to users.