Wallet Profiles
Every Stacks wallet has a public profile at /u/<principal> that turns its anchoring history into a verifiable portfolio. Researchers can share a profile link to prove a document history; organizations can showcase their anchoring activity.
What a profile shows
Profiles are public and need no wallet connection. Each one aggregates a wallet's activity across all five ThesisLock contracts:
- The full principal, with a copy button and an explorer link.
- First and last activity blocks, so visitors can see how long the wallet has been anchoring.
- Totals for single anchors, batch transactions, groups created, and proof NFTs minted.
- The last ten anchors from the registry, each with its parsed label and a verify link.
- The wallet's top document types, derived from its anchor labels via the template system.
Data sources
Profile data combines two reads. The authoritative anchor count and recent anchors come from the thesislock-registryread-only functions. The batch, group, and proof totals plus the first and last activity blocks are derived from the wallet's contract-call history on the Hiro API, the same source the activity log uses.
JSON API
The profile is also available as JSON, cached at the edge for five minutes. An invalid principal returns 400.
GET /api/profile/<principal>
{
"address": "SP3QS6X01XKTYC84BHA0J567CZTAH67BJHN88FNVM",
"totalAnchors": 12,
"totalBatches": 3,
"groupsCreated": 1,
"proofNFTs": 2,
"firstSeen": 7798720,
"lastSeen": 8123456,
"recentAnchors": [
{ "hash": "ab12...", "label": "paper-title:thesis|v:2", "anchoredAt": 8123456 }
],
"topLabels": ["paper", "release"]
}Embeddable badge
Each profile exposes a shields-style SVG badge showing the wallet's anchor count. It is green when the wallet has anchored at least once and gray otherwise, and is cached for ten minutes.
Endpoints
| Route | Returns |
|---|---|
/u/<principal> | Public profile page |
/api/profile/<principal> | Profile data as JSON |
/api/profile-badge/<principal> | Anchor-count SVG badge |
Owner principals across the feed and verification pages link straight to the matching profile.