TRUFA Scoring
TRUFA is the scoring framework used by DobValidator to evaluate real-world assets across four independent dimensions. The name is an acronym for the four scored areas:
- T -- Technical feasibility
- R -- Regulatory compliance
- U -- (Financial) Viability (the "U" comes from the Spanish "utilidad")
- F -- Financial sustainability
- A -- (Environmental) Impact (assessed as part of the composite)
In practice, the system scores five distinct dimensions, each on a scale of 0 to 100, and computes an overall composite score.
Scoring Dimensions
Technical Feasibility (0--100)
Evaluates whether the asset is technically sound and capable of operating as described.
| Criteria | What Validators Assess |
|---|---|
| Device specifications | Are the technical specs realistic and verifiable? |
| Operational capacity | Can the device deliver the claimed output? |
| Installation quality | Is the device properly installed and maintained? |
| Technology maturity | Is the underlying technology proven or experimental? |
| Documentation | Are technical certifications and manuals provided? |
A high technical score indicates that the physical asset exists, works as described, and is built on proven technology.
Regulatory Compliance (0--100)
Evaluates whether the asset operates within the legal and regulatory framework of its jurisdiction.
| Criteria | What Validators Assess |
|---|---|
| Permits and licenses | Does the operator hold required permits? |
| Jurisdictional rules | Does the asset comply with local regulations? |
| Safety certifications | Are required safety standards met? |
| Environmental permits | Are environmental impact requirements satisfied? |
| Tax and reporting | Is the operation structured for proper tax treatment? |
A high regulatory score indicates that the asset is legally operating and unlikely to face shutdown or legal challenges.
Financial Viability (0--100)
Evaluates whether the asset's financial projections are realistic and sustainable.
| Criteria | What Validators Assess |
|---|---|
| Revenue model | Is the revenue generation mechanism clear and proven? |
| Cost structure | Are operating costs reasonable relative to revenue? |
| Payback period | Is the ROI timeline realistic? |
| Market conditions | Does the local market support the projected demand? |
| Financial documentation | Are revenue claims backed by evidence? |
A high financial score indicates that the asset is likely to generate the projected returns for token holders.
Environmental Impact (0--100)
Evaluates the environmental footprint and sustainability of the asset.
| Criteria | What Validators Assess |
|---|---|
| Carbon footprint | Does the asset reduce or increase emissions? |
| Resource efficiency | Does it use resources (water, energy) efficiently? |
| Waste management | Is waste properly handled? |
| Sustainability alignment | Does it align with SDG or ESG frameworks? |
| Community impact | Does it benefit the local environment and community? |
A high environmental score indicates that the asset contributes positively to sustainability goals.
Overall Composite Score (0--100)
The overall score is a weighted composite of the four dimension scores. It represents the holistic quality of the asset as a candidate for tokenization.
Overall = weighted_average(Technical, Regulatory, Financial, Environmental)
The weighting may be adjusted based on asset category. For example, a solar panel installation might weight environmental impact more heavily, while a financial services device might weight regulatory compliance higher.
Scoring Process
1. Validator Review
Admin validators access the submission through the review interface. They see all submitted data, documents, and location information.
2. Dimension Scoring
The validator assigns a score (0--100) for each of the four dimensions based on the evidence provided. Each score is accompanied by the validator's assessment:
Technical: 95 -- "Device specs verified, manufacturer confirmed"
Regulatory: 92 -- "All permits on file, compliant with local regulations"
Financial: 85 -- "Revenue model sound, payback period conservative"
Environmental: 88 -- "Positive water access impact, low waste profile"
Overall: 90 -- Composite
3. Score Finalization
Once all dimensions are scored, the validator approves the submission. The scores are locked and become part of the certificate hash computation.
On-Chain Storage
TRUFA scores are stored on-chain via the DOBValidator.sol smart contract using the TrufaScores struct:
struct TrufaScores {
uint32 technical;
uint32 regulatory;
uint32 financial;
uint32 environmental;
uint32 overall;
}
Each field stores a value from 0 to 100. The struct is associated with a project hash (the SHA-256 of the submission data) and written on-chain when the validator calls setProjectApproved().
See EVM Validator Contract for the full contract interface.
Score Display
Pool Cards
On Token Studio, pools that have a linked validator certificate display a TRUFA badge:
- A colored score indicator appears next to the pool name
- Hovering reveals a tooltip with the breakdown across all four dimensions
- Score ranges map to visual indicators:
- 90--100: Excellent (green)
- 75--89: Good (blue)
- 50--74: Moderate (yellow)
- Below 50: Low (red)
Pool Dashboard
The pool dashboard shows a dedicated validation panel when a certificate is linked:
- A banner confirming the pool is TRUFA-verified
- The overall score displayed prominently
- A link to the public certificate verification page
- For pool creators: the ability to link or unlink certificates
Admin Backoffice
The admin panel shows TRUFA metrics across the platform:
- Total number of validated pools
- Average TRUFA score across all validated pools
- Recently validated pools with their scores
- Validation rate (percentage of pools with certificates)
Score Integrity
Scores are immutable once finalized:
- Scores are included in the SHA-256 hash computation alongside the submission data
- The hash is written on-chain, creating a permanent record
- Any change to the scores would produce a different hash, breaking the on-chain verification
- The public verification endpoint compares the stored hash against the on-chain record
This ensures that scores cannot be retroactively altered without detection.