RWA Lens

INSIDE THE LENS / ENGINEERING

Built to make the details add up.

A read-only inspection pipeline that connects raw Solana account data to usable identity, balance, controls and evidence. Here is how each layer works.

RWA LENSIDENTITY / BALANCE / CONTROLS

01 / ARCHITECTURE

An observation, end to end.

  1. ValidateBounded inputs, decoded 32-byte addresses and server-controlled network.
  2. ReadMint, Clock and optional holder accounts through a bounded Solana RPC adapter.
  3. InterpretOfficial token codecs, exact raw totals, display conversion and control checks.
  4. ExplainTyped result, per-call evidence, honest partial states and local receipt export.

The browser calls the application API. Provider credentials and metadata retrieval stay on the server. Inspection and export require no wallet and never sign or move assets. A separate, operator-enabled deploy flow lets a user review and sign a transaction in their own wallet; it is off on the public deployment.

02 / CAPABILITIES

From raw bytes to useful context.

01

Mint identity

Official codecs distinguish SPL Token and Token-2022. Mint, program, decimals, supply and authorities remain inspectable.

02

Exact accounting

Validated token accounts are deduplicated and summed with BigInt. Raw quantities stay decimal strings across the API.

03

Display conversion

Scaled UI Amount uses the official conversion helper and observed chain time. Rounding stays separate from raw-unit accounting.

04

Token controls

Authority, pause, delegate, default-state, fee and hook evidence is explained alongside known blocks and unknown checks.

05

Source provenance

Each read records its method and available context slot. Separate RPC reads retain their own timing and completeness.

06

Portable receipts

Guest JSON and CSV exports carry the observation, source details and a SHA-256 content hash. No wallet connection is required.

03 / ACCOUNTING

Precision has a boundary.

raw total = Σ validated account raw units
standard amount = raw total ÷ 10^decimals
scaled display = official helper(raw total, active multiplier, time)

Raw units → decimal strings / BigInt
Scaled display → labelled floating-point conversion

A display multiplier does not change stored raw units. The active multiplier is selected against the observed Clock sysvar timestamp. A time fallback is explicitly identified; it never becomes an unqualified chain observation.

USDY is a legacy SPL mint. Its balances use standard decimal conversion. Token-2022 extension logic applies only when those extensions are detected on the inspected mint or account.

04 / API CONTRACT

One request. Traceable results.

POST /api/rwa/inspect
Content-Type: application/json

{
  "mode": "live",
  "cluster": "mainnet-beta",
  "mint": "A1KLoBrKBde8Ty9qtNQUtq3C2ortoC3u7twggz7sEto6"
}

Add an optional owner address to read public token accounts. The browser cannot select a provider URL. Results distinguish available, partial and unavailable data; identity and balance status are independent.

FieldPurpose
identityDecoded mint, program, decimals and authorities.
balancesValidated accounts, raw total, display amounts and completeness.
extensions / transferReadinessDetected controls with reasons, evidence and unresolved checks.
provenanceCluster, provider, method slots, fetched time, chain time and decoder version.

05 / RELIABILITY & SECURITY

Fail clearly. Keep the evidence.

Bounded reads

Timeouts, aborts, retry budgets, response-size limits and account caps prevent unbounded RPC work. A failed refresh retains the prior observation with its original timestamp.

Untrusted metadata

Explicit HTTPS allowlists, private-address rejection, pinned connections and redirect limits constrain metadata fetches. No arbitrary HTML is rendered.

Honest uncertainty

Different context slots are not an atomic snapshot. Encrypted amounts, unsupported layouts and unresolved hook behavior stay unknown.

Automated coverage includes request schemas, accounting boundaries, token layouts, control classification, provider failures, exports, responsive layouts, keyboard navigation and reduced motion. Hosted checks exercise real mainnet reads separately.

06 / IMPLEMENTATION SCOPE

A clear contract with the user.

AvailableBoundary
Public inspection and local exportsRead-only, with no wallet connection or asset movement.
Interest-bearing extension detectionInterest-bearing conversion is currently unavailable.
Confidential-transfer detectionEncrypted balances are not observable through this inspector.
Transfer control explanationsRecipient eligibility and execution success are not established.
Optional private report architectureCloud storage is not enabled in the public release; local exports are available.

07 / MARKET CONTEXT

Connect the token to its market.

Discover pools

The yield screener combines the xStocks asset catalog and curated Ondo attribution with Meteora DLMM pools. Filter by issuer, pair and minimum liquidity, then open the exact mint in the inspector. TVL, volume, fees and market-session status retain their third-party source.

Keep sources separate

Pool figures live outside the inspection record and its JSON or CSV receipt. Historical fee APY is not a promised return. Bounded requests and cached snapshots limit upstream work; availability and refresh time remain visible.

Follow reserve reports

The reserve badge links issuer-published reserve reports where a source is recorded. It does not read, audit or verify those reports. The absence of a link is stated directly.

08 / OPTIONAL WALLET ACTION

Your review. Your wallet.

Deploy USDC is available only when an operator enables RWA_DEPLOY_ENABLED on mainnet. The public deployment keeps it off. For an eligible USDC-paired pool, the server prepares one unsigned transaction: Jupiter swaps half the budget into the token, then a Meteora DLMM deposit places the guaranteed minimum output and the remaining USDC into the selected pool.

Address and instruction checks, spend bounds, price-impact checks and a mainnet preflight run must pass before review. The user sees the amounts, range, rent and network fee before their wallet signs and sends. The server holds no signing key and takes no custody. Price movement, range exposure and loss remain possible; positions are managed on Meteora.

The code and automated wallet-flow coverage are present. A funded send with a real wallet remains an activation gate; a successful preflight alone does not establish an executed deposit.

09 / MOBILE DISTRIBUTION

The same lens, within reach.

The site is installable as a PWA. Its service worker caches public static assets and serves a connection notice offline; live inspections, authentication and reports are never cached. An Android Web Shell project wraps the inspector for Android and Solana Seeker, with Mobile Wallet Adapter support on enabled wallet surfaces.

Android source is included in the repository. Release signing, on-device wallet verification and dApp Store publishing remain separate release steps; no published mobile app or completed phone validation is claimed.

10 / WORKSPACE

Keep an inspection in context.

Inspector, Yield and Watchlist share the same navigation. Keyboard-accessible Overview, Balances, Controls, Liquidity and Evidence tabs keep the mint, wallet input and loaded observation in place as you move between sections. Save up to 20 public mint addresses on this device, then reopen a fresh inspection whenever you return. The watchlist stores only each mint, its optional name and symbol, and its save time; changes sync across tabs in the same browser.

PRIMARY REFERENCES