Skip to content

Flow map

Three flows run through Assay. Each step is tagged: Built exists and has a contract ID, transaction or live URL; Demo sprint exists as a demo or draft; T1/T2/T3 is planned for that tranche; After launch comes after mainnet.

The diagrams are the target design from the architecture.

Target design: issuers’ stellar.toml feeds the indexer and board; auditors and oracles feed the registry; the guard reads the registry for lending markets; wallets read the registry.

Part Status
Indexer census and board, on mainnet data Built assay.wtf
Registry contract Built testnet (IDs)
Guard contract Built testnet
Reserve report format Demo sprint draft SEP
Risk-context checks: issuer flags, redemption path, exit liquidity, collateral signatures T1
Public API v1, daily refresh, correction workflow T1
Independent vs issuer attestors; guard reasons UNKNOWN_ASSET, NO_INDEPENDENT_ATTESTOR T2
Indexer posting supply as witness on mainnet T3
Oracle adapters (RedStone, Chainlink) After launch
SDK for wallets and explorers to read status T2

Diagram: board check, indexer reads the ledger and each issuer’s stellar.toml and reserve link, and publishes the board.

  1. The indexer lists Stellar mainnet assets and their issuers’ home domains. Built
  2. It reads each stellar.toml and its SEP-1 currency fields. Built
  3. It fetches the reserve link, records the HTTP result, type, size and SHA-256, and reads a date and figures when it can. Built
  4. The board publishes the snapshot, with sources, weekly. Built
  5. Issuers correct mistakes through a public log. Demo sprint
  1. The attestor writes a reserve-report-v0 document and signs it with SEP-53. Built (sign-report)
  2. It publishes the document and posts the figures, the document’s URL and SHA-256 to the registry with post_report. Built testnet
  3. The registry checks the attestor is registered and signed the call, the unit, the dates and the order. Built testnet
  4. The assay report sign/post CLI commands. T2
  5. Timelocked attestor changes; issuers claiming their asset via stellar.toml. T2

The architecture’s diagram for this flow shows the target design, in which the registry also checks the report’s signature on chain.

  1. A borrower asks a lending pool to borrow against an RWA. Built testnet demo pool
  2. The pool calls is_healthy(asset, policy) on the guard. Built testnet
  3. The guard reads status_with from the registry and returns (false, reason) for the first rule that fails. Built testnet
  4. The pool rejects the borrow and records the reason; nothing moves. Built (demo run)
  5. A scoped keeper for pools that can’t change their code. After launch
  6. Pilots with real protocols and attestors. T2

The full architecture is available as a printable PDF: assay-architecture.pdf.