How to check if a wallet is a sybil (API)
You need a yes/no signal on whether an address belongs to a real, unique human before you let it in.
The problem
Wallet age, balance and transaction count are all trivially farmable. A sybil operator spins up 10,000 addresses, warms them with cheap on-chain noise, and your heuristics wave them through. What is not farmable is a graph of mutual, signed attestations between people who actually know each other.
Step by step
1. Get a free API key
Connect a wallet on the developer page and a Starter key is issued instantly — 60 requests per minute, no card.
export TRUSTLAYER_KEY="tl_live_your_key"2. Call the verify endpoint
One request returns the score, the vouch count and how many distinct humans have interacted with that address.
curl -s https://api.trstlyr.com/v1/verify \ -H "x-api-key: $TRUSTLAYER_KEY" \ -H "content-type: application/json" \ -d '{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}'3. Read the signal
trust_score is 0-100. proof_count is how many signed vouches exist. unique_interactions is the size of the distinct human set behind them. Sybil farms score low on the last two no matter how much on-chain noise they buy.
{ "found": true, "trust_score": 78, "proof_count": 34, "unique_interactions": 21, "tier": "verified" }4. Gate your flow
Pick a threshold per risk level: 20 for read access, 40 for posting, 60+ for money movement.
const r = await fetch("https://api.trstlyr.com/v1/verify", { method: "POST", headers: { "x-api-key": process.env.TRUSTLAYER_KEY!, "content-type": "application/json" }, body: JSON.stringify({ address }), }); const { trust_score, unique_interactions } = await r.json(); const isLikelySybil = trust_score < 40 || unique_interactions < 5;
Share the proof
Once you are live, show it. This badge stays up to date on its own and links visitors back to the verifiable profile behind the score.
<a href="https://trstlyr.com/u/your-handle">
<img src="https://trstlyr.com/badge/your-handle.svg" alt="Verified on TrustLayer" height="28" />
</a>Frequently asked questions
Next recipes
All 6 recipes are on the API recipes index.