Endpoints
Xpectrum runs on Octra mainnet.
Calling a view function
View functions are read throughcontract_call, with the contract address, the method name, an argument array, and a caller address:
get_token_info returns id|owner|creator|name|royalty_bps|minted_epoch|uri. Split on | to parse.
Reading raw storage
octra_contractStorage reads a single storage key without calling a function, which is often cheaper and always available:
mapname:key, and nested maps are mapname:k1:k2. So a holder’s balance is balances:<address>.
Mainnet rejects requests that do not look like they came from a browser. Send an
Origin and a User-Agent header, or you will get an HTML error page rather than JSON. Check the status code before parsing.Collection (Xcollection)
The table below is Xcollection v4.0.0.
XpectrumGenesis, which Xpectra runs, predates the burn work: its get_contract_info returns seven fields ending at revealed, and it has no total_minted, burned, is_burned or xholder_* views. Check which contract you are reading before you index into a pipe split.Marketplace (Xmarket)
Verifying a collection
Readingget_provenance_hash() and recomputing it from the collection’s published metadata is enough to confirm a frozen collection was not altered after mint. The xpress CLI automates this end to end (xpress verify <collection_address>). See Provenance for the algorithm.
All contract state is public. A non-empty
get_provenance_hash() plus a matching recomputation plus mutability == "frozen_by_provenance" is the full trust basis. You verify it yourself; you do not take our word for it.