Veral is fanning out across the public evidence sources for this subject. Cold reads can take a few seconds while sources respond — the page will paint as soon as the score settles.
Veral is fanning out across the public evidence sources for this subject. Cold reads can take a few seconds while sources respond — the page will paint as soon as the score settles.
Veral is reading the public evidence for degen.base.eth. Cold reads can take a few seconds while sources respond — the score panel will paint as soon as the reading settles.
Caution-band standing, but one or more negative signals fired — review the overlay below.
This macro has no contributing evidence yet. Publish the records that drive it (ENS, GitHub, audits) to lift it from — into a graded band.
What evidence would grade this →This macro has no contributing evidence yet. Publish the records that drive it (ENS, GitHub, audits) to lift it from — into a graded band.
What evidence would grade this →Publishing requires control of this subject — only the wallet its ENS primary address resolves to can issue the certificate.
6 of 29 sources verified evidence; among the rest, 10 had nothing to report (thin subject is honest, not a defect); 1 source couldn't reach data. The score of 39/100 reflects the thin public footprint. Low scores are expected for subjects with little public footprint — this is a finding, not an error.
Your counterparty graph shows a closed-loop or low-diversity high-volume pattern — the heuristic Veral uses to detect wash trading or sybil clusters. Either same addresses repeatedly transacting, or a small handful of counterparties carrying the majority of value.
Wash / sybil patterns are detected from on-chain transfer history; they cannot be retroactively cleared. Practical paths: • If the pattern reflects internal operations (e.g. an aggregator routing through a fixed set of pools), diversify your counterparty set going forward — the 90-day window will reflect the change. • If the pattern is structural and intentional (e.g. settlement-only addresses for a closed-system service), the flag may be permanent under current methodology. Consider a signed manifest declaring the operational shape; future Anchored tier review can override the heuristic.
90-day rolling window. Diversification effects visible after the window cycles.
| Attribute | Weight | Raw | Contribution |
|---|---|---|---|
| upgrade.proxyAdmin· clean baseline, no adverse flag | 0.25 | 0.00 | 0.2250 |
| upgrade.isUpgradeable· clean baseline, no adverse flag | 0.25 | 0.00 | 0.2250 |
| upgrade.hasTimelock· clean baseline, no adverse flag | 0.25 | 0.00 | 0.2250 |
| Attribute | Weight | Raw | Contribution |
|---|---|---|---|
| firstTxBlock | 0.13 | 1.00 | 0.0541 |
| isContract | 0.13 | 1.00 | 0.0541 |
| Attribute | Weight | Raw | Contribution |
|---|---|---|---|
| counterparty.distinctCounterpartyCount | 0.25 | 1.00 | 0.1000 |
| counterparty.uniqueCounterpartiesIn30d | 0.25 | 0.48 | 0.1000 |
| Attribute | Weight | Raw | Contribution |
|---|---|---|---|
| contracts[].address | 0.25 | 1.00 | 0.1500 |
| contracts[].etherscanVerified | 0.25 | 1.00 | 0.1500 |
pnpm add @veral/score
import { computeProfile } from '@veral/score';
const compute = computeProfile('project/v1.0.0');
const result = compute(evidence, { nowSeconds: Math.floor(Date.now() / 1000) });
// result.score === 39The same evidence always produces the same score — no AI, no per-visitor variation. The methodology document above is the canonical reference.
| contractDeployedTimestamp |
| 0.13 |
| 0.79 |
| 0.0541 |
| recentEventCount | 0.13 | 0.08 | 0.0541 |
| Attribute | Weight | Raw | Contribution |
|---|---|---|---|
| chainPresence[].deployed | 0.25 | 0.25 | 0.1563 |
| chainPresence[].verified | 0.25 | 1.00 | 0.1563 |
| chainPresence[].isProxy | 0.25 | 1.00 | 0.1563 |
| chainCount | 0.25 | 0.25 | 0.1563 |
| counterparty.uniqueCounterpartiesIn90d | 0.25 | 1.00 | 0.1000 |
| counterparty.washPatternFlag | 0.25 | 1.00 | 0.1000 |
| contracts[].hasProxy |
| 0.25 |
| 1.00 |
| 0.1500 |
| verifiedCount | 0.25 | 0.20 | 0.1500 |