
Hallmark
Ever wanted to have resume of your work onchain?
About
The problem it solves Smart contracts are deployed anonymously — wallets, auditors, and agents have no standard way to judge if a contract is safe, verified, or trustworthy before interacting. Hallmark solves this by giving every contract a structured **trust score** (0–100) built from five axes: source verification via Sourcify, pattern recognition, risk flags, ecosystem adoption, and static security checks. It also generates a **developer resume** — an aggregated view of all contracts a wallet has deployed across 10+ chains, with verification rates and risk summaries. The **Agent tab** exposes an on-chain AI agent identity using ENS + ENSIP-26 text records, letting autonomous agents carry verifiable credentials on-chain rather than in a backend database. Key integrations: - **Sourcify**: full/partial match drives 0–20 of the verification score axis - **ENS**: human-readable contract names + AI agent identity (ENSIP-26 subnames as agent credentials) - **Blockscout**: multi-chain contract discovery across 10 EVM networks - **OLI labels**: open labeling initiative data for contract classification
How it's made
Challenges we ran into Building a streaming analysis pipeline that fetches contract data from Blockscout, Sourcify, and ENS simultaneously without blocking the UI was the hardest part. We solved this with a server-sent events (SSE) stream from the API — each pipeline step fires a progress event so the UI updates in real time rather than waiting on a monolithic response. Scoring normalization across five independent axes (each 0–20) required careful calibration so the total (0–100) feels meaningful: a contract with no Sourcify match but clean security still scores respectably, while a high-risk unverified contract bottoms out clearly. The ENS agent identity layer (ENSIP-26) required writing a custom text record schema for agent metadata — there was no existing standard we could drop in, so we defined one compatible with EIP-7694 drafts and stored it on Sepolia ENS subnames.