-
-
AssetProof flags stale and missing disclosures immediately, so users can see when an asset is no longer in good standing.
-
Healthy assets show current disclosures across custody, valuation, legal, and regulatory records.
-
Every proof links back to supporting disclosure documents so reviewers can inspect the evidence behind the trust state.
-
After review, AssetProof publishes an attested trust receipt with payload hash and BAS attestation details on BNB Chain.
-
Anyone with the proof link or attestation UID can reopen and verify the published trust record.
-
Issuers submit disclosure inputs through a guided workflow before generating and publishing a proof.
Inspiration
Tokenized assets can look fine at issuance, then lose trust later when custody, valuation, or legal disclosures expire, go stale, or disappear.
We wanted a fast way to answer one question: is this asset still trustworthy today?
What it does
AssetProof checks four disclosure signals for a tokenized asset:
- Custody
- Valuation
- Legal
- Regulatory
It classifies each signal as current, expiring, stale, or missing, then derives a deterministic trust state: Healthy, Review, or At Risk.
It also performs lightweight link credibility checks on submitted disclosure URLs, generates a canonical proof record, and publishes an attested trust receipt on BNB Chain through BAS. A public verify page lets anyone inspect the published proof from a shareable link or attestation UID.
How we built it
AssetProof is built with Next.js, TypeScript, and React around a single canonical ProofRecord model.
The flow is:
- An issuer submits disclosure inputs
- The app validates basic link credibility and disclosure dates
- A deterministic evaluator derives signal states and trust status
- The proof record is canonicalized and hashed
- The proof can be published through dry-run, relay, or BAS direct mode
- The result can be reopened through the public verify flow
We used BAS on BNB Chain because attestations let us anchor trust receipts cheaply without writing a bulky custom contract.
We kept the core logic rule-based instead of vague scoring, so every trust state has a clear reason.
Challenges we ran into
The hardest part was staying narrow.
It was easy to drift into a generic RWA dashboard, but that would have made the product weak. We cut it back to one clear wedge: disclosure freshness and trust status.
Another challenge was credibility. A trust product cannot feel fake, so we added public verification, link credibility checks, deterministic status explanations, and demo-safe disclosure documents that actually open.
We also had to keep preview, seeded scenarios, publish, and verify aligned to the same proof model so the UI was not saying one thing while the signed payload said another.
What we learned
We learned that deterministic trust logic is easier to explain and defend than decorative risk scores.
We also learned that trust products live or die on the verification loop. Once a proof can be published and reopened publicly, the product feels much more real.
What's next for AssetProof
Next, we want to connect live disclosure sources, add issuer reminders before expiry, and go deeper on document verification beyond link-level credibility checks.
Built With
- bas
- bnb-chain
- eas-sdk
- ethers.js
- next.js
- node.js
- react
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.