Guides / Run diligence with the evidence stream
Copy page as MarkdownJoin the sandbox waitlist
GuideEARLY ACCESS

Run diligence with the evidence stream

For capital allocators. Operational diligence no longer starts and ends with a PDF. Live evidence sits alongside the legal documents behind the asset — you will still read the PPA, and you will no longer have to take the generation figures in it on faith.

Prerequisites

· A T1 account. Read access requires email verification only — no KYB, no sales call.

· For the legal cluster: an offering that permits document access to verified investors, and a verified investor record. Hashes are public; the documents themselves are not.

01Screen

curl "https://sandbox.api.arkreen.com/v1/offerings?data_assurance=L3&asset_readiness=investment_ready&country=TH&status=open&limit=50" \
  -H "Authorization: Bearer $TOKEN"

Filter on both dimensions. data_assurance is the cheapest cut and removes everything whose numbers you cannot trust; asset_readiness removes everything whose numbers you can trust and whose revenue you still might not be entitled to. Screening on one and not the other is how you end up doing full diligence on an asset that was never issuable.

02Pull the operating history, not the summary

curl "https://sandbox.api.arkreen.com/v1/distributions?project_id=prj_8fK2mQ&from=2024-01-01&limit=100" \
  -H "Authorization: Bearer $TOKEN"

Every past epoch, with verified generation, revenue, the full waterfall result, and an evidence_ref for each. This is the actual track record, not a modeled one.

03Check the data, not just the numbers

curl "https://sandbox.api.arkreen.com/v1/risk/projects/prj_8fK2mQ" -H "Authorization: Bearer $TOKEN"

{
  "data_assurance": "L3",
  "asset_readiness": "investment_ready",
  "assurance_state": "active",
  "data_quality":  { "continuity_90d": 0.998, "signed_ratio": 1.0, "anomaly_rate": 0.0002 },
  "generation":    { "p50_annual_wh": 438000000, "cv_monthly": 0.14,
                     "degradation_annual_pct": 0.55 },
  "cashflow":      { "collection_ratio_12m": 1.0, "days_sales_outstanding": 4.2,
                     "offtaker_concentration": 1.0 },
  "counterparty":  { "offtaker_rating_internal": "B+", "operator_score": 0.87 },
  "flags": []
}

There is no overall score in this object, and there will not be one. These are inputs. The grade is yours to produce.

✓ The two fields most people skip

data_quality.continuity_90d and cashflow.collection_ratio_12m tell you more about a distributed energy asset than any generation figure. A plant that generates well and collects at 0.82 is a receivables problem wearing a solar costume. Generation is physics and behaves predictably; collection is counterparty behavior and does not.

04Verify a distribution yourself, in four parts

energy_evidenceTake the Merkle root, read it from AttestationAnchor on-chain at the stated block, verify the proof. If the two disagree, you have found something we would very much like to hear about.legal_evidenceCheck attested_by against GET /v1/service-partners/{id} — the licence and its jurisdiction — and check expires_at. Then read the documents themselves and confirm each hash matches what you were sent. The hashes prove the file did not change; only reading the PPA tells you what it says.settlement_evidenceConfirm reconciliation.matched is true, and that the party attesting is not the party being paid.distribution_evidenceRecompute the waterfall from the published rule and the gross figure, and compare against what the transaction actually paid.
⚠ The legal cluster is the one you still have to read

Hashes and attestations make the documents tamper-evident and tell you who checked them. They do not tell you what a termination clause says, how the assignment of receivables is drafted, or whether the insurance covers the failure mode that matters. Legal diligence still means reading the PPA, the lease, the SPV documents, and the permits. Not a replacement for a lawyer — a way to stop rechecking the same numbers by hand.

05Subscribe to the stream

curl -N "https://sandbox.api.arkreen.com/v1/evidence/projects/prj_8fK2mQ/stream" \
  -H "Authorization: Bearer $TOKEN" -H "Accept: text/event-stream"

Server-sent events, one per verified batch. Point your own model at it rather than re-pulling history on a schedule.

Done when

Your model produces its own view of the operating asset — generation, verification quality, collection behaviour, and distribution history — without asking anyone for a figure, and your legal review is working from documents whose integrity you verified rather than from a summary someone prepared for you.

Those are two different kinds of done, and only the first one is automatic.