
Product
Socket MCP Adds Org Alerts, Threat Feed Review, and Package Inspection
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.
@powforge/identity
Advanced tools
Depth-of-Identity SDK for Nostr. Measures accumulated irreversible work across five dimensions to produce a single identity weight score.
Depth-of-Identity SDK for Nostr. Measures accumulated irreversible work across five dimensions to produce a single identity weight score.
Not human vs bot. Invested vs uninvested. It is about measuring intentions.
npm install @powforge/identity
const { getIdentityDepth } = require('@powforge/identity');
const report = await getIdentityDepth(pubkey, {
relays: ['wss://relay.powforge.dev'],
});
console.log(report.weight); // total identity depth score
console.log(report.dimensions); // breakdown by dimension
Five dimensions of identity depth:
| Dimension | What It Scores | Event Kinds |
|---|---|---|
| Spatial | Cyberspace movement proofs, unique regions explored | kind:3333 |
| Social | Notes published, reactions given, unique peers interacted with | kind:1, kind:7 |
| Access | NIP-13 proof-of-work accumulated across all events | nonce tags |
| Vouch | Inbound vouches from other identities, weighted by voucher depth with sqrt dilution | kind:33335 |
getIdentityDepth(pubkey, options?)Returns a full identity report for a hex pubkey.
Options:
| Option | Default | Description |
|---|---|---|
relays | ['ws://localhost:3088'] | Array of relay WebSocket URLs to query |
timeout | 5000 | Query timeout per relay in ms |
dimensions | ['spatial', 'social', 'access', 'vouch'] | Which dimensions to score |
Returns:
{
"pubkey": "93da4435...",
"totalEvents": 3,
"weight": 24,
"activeDimensions": 2,
"dimensionMultiplier": 1.2,
"dimensions": {
"spatial": { "events": 3, "uniqueRegions": 3, "proofsVerified": 3, "score": 21 },
"social": { "notes": 0, "reactions": 0, "uniquePeers": 0, "score": 0 },
"access": { "totalEvents": 3, "totalPowBits": 0, "maxDifficulty": 0, "score": 3 },
"vouch": { "inboundVouches": 0, "uniqueVouchers": 0, "totalWeight": 0, "score": 0 }
},
"firstActivity": "2026-04-12T17:25:47.000Z",
"lastActivity": "2026-04-13T21:01:16.000Z",
"relaysQueried": 1
}
queryRelay(relayUrl, filters, timeout?)Low-level function to query a single relay for events matching NIP-01 filters.
Each dimension uses log2 scaling to prevent grinding attacks. You can't just spam events to inflate your score -- each additional unit of work yields diminishing returns, just like real proof-of-work.
log2(events+1) * 2 + log2(uniqueRegions+1) * 5log2(notes+1) * 3 + log2(reactions+1) + log2(bidirectionalPeers+1) * 15 + log2(unidirectionalPeers+1) * 5totalPowBits * 2 + log2(powEvents+1) (PoW bits are already exponential, so they stay linear)log2(totalWeight+1) * 3 + log2(uniqueVouchers+1) * 20 (sqrt dilution prevents vouch farming)A dimension multiplier rewards spreading across dimensions: having depth in 2 dimensions gives 1.2x, 3 gives 1.4x, all 4 gives 1.6x. One-trick ponies get no bonus.
The total weight is the sum of all dimension scores times the multiplier. Higher weight means more accumulated, irreversible work.
Follower counts are trivially faked. This SDK measures things that cost real resources to produce: computation (PoW), time (event history), movement (spatial proofs), and social commitment (vouches backed by depth). Every dimension requires irreversible expenditure to increase.
MIT
FAQs
Depth-of-Identity SDK for Nostr. Measures accumulated irreversible work across four dimensions of irreversible work (social, access, vouch, economic). Try it live at powforge.dev/explorer.
The npm package @powforge/identity receives a total of 24 weekly downloads. As such, @powforge/identity popularity was classified as not popular.
We found that @powforge/identity demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.

Research
More than 140 Mastra npm packages were compromised in a supply chain attack that used a typosquatted dependency to deliver a cross-platform infostealer during installation.