Identity
Sybil Detection
Analyze an Ethereum address for sybil behavior using on-chain transaction signals
GET
Documentation Index
Fetch the complete documentation index at: https://docs.credprotocol.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Analyzes an Ethereum address for sybil behavior by computing behavioral and relational signals from on-chain transaction data. Returns a composite sybil score (0-100, where higher = more likely sybil) along with individual indicator values.This endpoint examines Ethereum mainnet transaction history to detect patterns consistent with sybil wallets -low diversity of counterparties, scripted timing, minimal gas expenditure, and lack of identity attestations.
Authentication
This endpoint supports two authentication methods:| Method | Header | Cost |
|---|---|---|
| API Token | Authorization: Bearer YOUR_API_KEY | 3 Cred Units |
| x402 Payment | X-PAYMENT: <signed_payment> | $0.03 USDC |
Path Parameters
Ethereum address or ENS name (e.g.,
vitalik.eth or 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045)Response
The resolved Ethereum address (checksummed)
ISO 8601 timestamp of when the analysis was computed
Composite sybil score from 0-100. Higher scores indicate a greater likelihood that the address is a sybil.
Human-readable risk classification derived from
sybil_score. One of: low, medium, high, critical.Individual signals used to compute the composite score.
Number of unique addresses this wallet has transacted with (normal transactions + ERC-20 token transfers), excluding itself.
Number of unique smart contracts called (transactions with non-empty input data) or created.
Total gas spent on outbound transactions, in ETH. Calculated as the sum of gasUsed times gasPrice for all transactions sent from this address.
The address that first funded this wallet (sender of the first inbound ETH transfer). Null if no inbound value transfers exist.
Shannon entropy of inter-transaction time deltas, normalized to 0-1. Higher values indicate more varied (human-like) timing patterns; lower values suggest scripted/automated behavior.
Number of verified identity attestations associated with this address (ENS name, Gitcoin Passport, POAPs, credentials, etc.).
Number of days since the wallet’s first transaction on Ethereum mainnet.
Total number of normal transactions on Ethereum mainnet.
Risk Levels
| Score | Risk Level | Interpretation |
|---|---|---|
| 0-24 | low | Unlikely sybil -diverse activity, verified identity |
| 25-49 | medium | Some suspicious characteristics |
| 50-74 | high | Likely sybil -limited activity or identity |
| 75-100 | critical | Very likely sybil -minimal on-chain presence |
Scoring Methodology
The sybil score is computed by normalizing each indicator through a sigmoid function and combining them with the following weights:| Indicator | Weight | Description |
|---|---|---|
| Identity Attestations | 25% | Verified on-chain/off-chain identity proofs |
| Unique Counterparties | 20% | Diversity of transaction partners |
| Unique Contracts | 15% | Breadth of smart contract interactions |
| Gas Spent | 10% | Economic commitment to the network |
| Time Entropy | 10% | Human-like transaction timing |
| Wallet Age | 10% | Longevity of the address |
| Transaction Count | 10% | Overall activity level |
Use Cases
Airdrop Protection
Airdrop Protection
Screen recipient addresses before distributing tokens. Flag addresses with
high or critical risk levels to prevent sybil farming.Governance Sybil Resistance
Governance Sybil Resistance
Verify that voters in DAO governance represent unique humans by checking sybil scores before counting votes or distributing voting power.
Lending Risk Assessment
Lending Risk Assessment
Combine sybil detection with credit scoring to identify borrowers who may be operating multiple wallets to circumvent lending limits.
Community Verification
Community Verification
Gate access to communities, allowlists, or early access programs by requiring a sybil score below a threshold (e.g., score under 25).
Performance
- Response Time: Typically 2-5 seconds (uncached), under 100ms (cached)
- Caching: Results cached for 30 minutes per address
- Data Source: Ethereum mainnet only (via Etherscan API)