Skip to main content
Spoke separates settlement, indexed reads, account services, and user interaction. The contract is the authority for money. The API provides validated access to derived views and offchain records; it cannot invent settlement outcomes. The dotted paths are separate integrations. Neither Nansen context nor Aurora funding determines testnet reward allocation.

Components and responsibilities

A purchase across the stack

A wallet signature, a transaction inclusion, and an indexed receipt are separate states. The UI tracks them rather than treating a successful HTTP request as an onchain sale.

Trust boundaries

Money: buyer payments and merchant-funded rewards stay separate in the contract. Claims are pulled by beneficiaries. Public receipts expose the settlement evidence. Identity: wallet-bound sessions protect account routes. State-changing API calls require the allowed origin and CSRF protections. Sensitive account actions require fresh confirmation. Files: public images are sanitized and re-encoded. Private product assets require ownership or buyer entitlement; delivery access rechecks sale state and refunds. Read models: the API verifies canonical block hashes independently before projecting events. A stale read cannot redefine a contract balance. Provider data: Nansen insight context is cached and labeled. It does not produce a trust score or affect payout amounts. Aurora status requires destination-chain verification before funding confirmation.

Repository map

The public source is Enoch208/spoke. This documentation lives separately in Enoch208/docs-madonna and is published through Mintlify.