Skip to main content

ENS Social Graph

Discover social connections, shared communities, and relationship graphs built from ENS data.

Endpointsโ€‹

EndpointDescriptionPrice
GET /api/social/ens/{name}/connectionsSocial connections$0.02
GET /api/social/ens/{name}/communitiesShared communities$0.02
GET /api/social/ens/{name}/similarSimilar profiles$0.02
GET /api/social/ens/mutualMutual connections$0.02

GET /api/social/ens/{name}/connectionsโ€‹

Discover social connections from ENS text records and on-chain activity.

Connection Sourcesโ€‹

  • ENS text records โ€” Twitter, GitHub, Discord, Telegram
  • NFT communities โ€” Shared collections
  • DAO memberships โ€” Governance token holders
  • On-chain interactions โ€” Transaction history

Requestโ€‹

curl https://api.web3identity.com/api/social/ens/vitalik.eth/connections

Responseโ€‹

{
"name": "vitalik.eth",
"connections": {
"twitter": {
"handle": "VitalikButerin",
"verified": true,
"followers": 5200000
},
"github": {
"username": "vbuterin",
"verified": true,
"repos": 89,
"followers": 12000
},
"farcaster": {
"fid": 5650,
"username": "vitalik.eth",
"followers": 450000
},
"lens": {
"handle": "vitalik.lens",
"profileId": "0x0a",
"followers": 125000
},
"telegram": null,
"discord": null
},
"linkedAddresses": [
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
],
"score": {
"connectivity": 95,
"verification": 85
}
}

SDKโ€‹

const connections = await client.getENSConnections('vitalik.eth');

GET /api/social/ens/{name}/communitiesโ€‹

Find communities and groups associated with an ENS name.

Requestโ€‹

curl https://api.web3identity.com/api/social/ens/vitalik.eth/communities

Responseโ€‹

{
"name": "vitalik.eth",
"communities": {
"nfts": [
{
"collection": "CryptoPunks",
"contract": "0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB",
"count": 2,
"floorPrice": 45.5
}
],
"daos": [
{
"name": "ENS DAO",
"token": "ENS",
"votingPower": 100000,
"delegatedTo": null
},
{
"name": "Gitcoin",
"token": "GTC",
"votingPower": 50000
}
],
"protocols": [
{ "name": "Uniswap", "activity": "high" },
{ "name": "Aave", "activity": "medium" }
]
}
}

GET /api/social/ens/{name}/similarโ€‹

Find similar profiles based on communities, interests, and on-chain activity.

Requestโ€‹

curl "https://api.web3identity.com/api/social/ens/vitalik.eth/similar?limit=10"

Responseโ€‹

{
"name": "vitalik.eth",
"similar": [
{
"name": "nick.eth",
"address": "0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5",
"similarity": 0.89,
"sharedCommunities": ["ENS DAO", "CryptoPunks"],
"sharedInterests": ["ethereum", "cryptography"]
},
{
"name": "brantly.eth",
"address": "0x983110309620D911731Ac0932219af06091b6744",
"similarity": 0.85,
"sharedCommunities": ["ENS DAO"],
"sharedInterests": ["ens", "identity"]
}
],
"count": 10
}

Query Parametersโ€‹

ParamTypeDefaultDescription
limitnumber10Max results (1-50)
minSimilaritynumber0.5Minimum score (0-1)
includeReasonsbooleanfalseInclude why similar

GET /api/social/ens/mutualโ€‹

Find mutual connections between two ENS names.

Requestโ€‹

curl "https://api.web3identity.com/api/social/ens/mutual?names=vitalik.eth,nick.eth"

Responseโ€‹

{
"names": ["vitalik.eth", "nick.eth"],
"mutual": {
"communities": [
{ "name": "ENS DAO", "type": "dao" },
{ "name": "CryptoPunks", "type": "nft" }
],
"followers": {
"twitter": ["ethereum", "ensdomains"],
"farcaster": ["dwr.eth", "v"]
},
"transactions": {
"count": 3,
"lastInteraction": "2025-12-15T00:00:00Z"
}
},
"connectionStrength": 0.78
}

Social Scoreโ€‹

GET /api/social/ens/{name}/scoreโ€‹

Calculate social credibility score based on connections.

curl https://api.web3identity.com/api/social/ens/vitalik.eth/score
{
"name": "vitalik.eth",
"scores": {
"overall": 98,
"components": {
"verification": 100,
"connectivity": 95,
"activity": 92,
"reputation": 100,
"longevity": 100
}
},
"badges": [
{ "name": "OG", "description": "ENS registered before 2019" },
{ "name": "Verified", "description": "All social accounts verified" },
{ "name": "Whale", "description": "Significant on-chain holdings" },
{ "name": "Builder", "description": "Active GitHub contributions" }
]
}

Network Analysisโ€‹

GET /api/social/ens/{name}/networkโ€‹

Get the social network graph (who follows who).

curl "https://api.web3identity.com/api/social/ens/vitalik.eth/network?depth=2"
{
"center": "vitalik.eth",
"nodes": [
{ "id": "vitalik.eth", "depth": 0 },
{ "id": "nick.eth", "depth": 1 },
{ "id": "brantly.eth", "depth": 1 },
{ "id": "gregskril.eth", "depth": 2 }
],
"edges": [
{ "from": "vitalik.eth", "to": "nick.eth", "type": "follows", "platform": "farcaster" },
{ "from": "nick.eth", "to": "brantly.eth", "type": "follows", "platform": "twitter" }
],
"stats": {
"totalNodes": 4,
"totalEdges": 3,
"depth": 2
}
}

Verification Statusโ€‹

GET /api/social/ens/{name}/verifyโ€‹

Check which social accounts are cryptographically verified.

curl https://api.web3identity.com/api/social/ens/vitalik.eth/verify
{
"name": "vitalik.eth",
"verifications": {
"twitter": {
"handle": "VitalikButerin",
"verified": true,
"method": "tweet-signature",
"verifiedAt": "2023-01-15T00:00:00Z"
},
"github": {
"username": "vbuterin",
"verified": true,
"method": "gist-signature",
"verifiedAt": "2023-01-10T00:00:00Z"
},
"farcaster": {
"username": "vitalik.eth",
"verified": true,
"method": "wallet-connection"
}
},
"trustScore": 100
}

SDK Examplesโ€‹

JavaScriptโ€‹

import { Web3IdentityClient } from '@web3identity/sdk';

const client = new Web3IdentityClient();

// Get social connections
const connections = await client.getENSConnections('vitalik.eth');

// Find similar profiles
const similar = await client.findSimilarProfiles('vitalik.eth', {
limit: 20,
minSimilarity: 0.7
});

// Check mutual connections
const mutual = await client.getMutualConnections(
'vitalik.eth',
'nick.eth'
);

// Get social graph
const network = await client.getENSNetwork('vitalik.eth', {
depth: 2
});

Pythonโ€‹

from web3identity import Client

client = Client()

# Get connections
connections = client.get_ens_connections('vitalik.eth')

# Find similar
similar = client.find_similar('vitalik.eth', limit=20)

Errorsโ€‹

CodeHTTPDescription
NAME_NOT_FOUND404ENS name not registered
NO_SOCIAL_DATA404No social records found
DEPTH_EXCEEDED400Network depth too deep (max 3)