API Payments Staking Agents B20 Community Docs
LENS API

read the wallet behind
any handle, one call

the same on-chain read that powers the extension, exposed as a public API, no key, no wallet connect, just a handle in and a verdict out

public read only no key required Base + Bankrbot
lens · scan @exitliq_dev
request
# one GET, that is the whole api
curl "https://lens-liard.vercel.app\
/api/lookup?username=exitliq_dev"
response
{
  "verdict": "STOP",
  "trust": 18,
  "devSold": true,
  "feeShare": "95%",
  "liquidity": "unlocked",
  "linked": ["@rugzn", "@dumpct"],
  "funder": "shared"
}
Live scan
calls the public LENS API directly, no key, read only
Quickstart

from zero to a verdict in three steps

no signup needed to try it, the endpoint is open and read only

01

pick a target

an X handle like exitliq_dev, or a Base contract address starting with 0x

02

call the endpoint

one GET to /api/lookup, no auth header, no body, nothing to sign

03

read the verdict

parse CLEAR CAUTION or STOP plus the signals behind it, and act before you ape

curl "https://lens-liard.vercel.app/api/lookup?username=exitliq_dev"
const handle = "exitliq_dev";
const res = await fetch(
  `https://lens-liard.vercel.app/api/lookup?username=${handle}`
);
const read = await res.json();
if (read.verdict === "STOP") console.log("do not ape");
import requests
handle = "exitliq_dev"
read = requests.get(
    f"https://lens-liard.vercel.app/api/lookup?username={handle}"
).json()
print(read["verdict"], read["trust"])
The read

a bio is a claim, a wallet is a record

LENS resolves the deployer behind a profile and scores it into one word your agent can branch on

LENS
COMPLETE
@exitliq_dev TRUST 18
AI verdict
HIGH RISK

dev sold 3.4B to DEX, claims 95% of fees, account is 4 days old, strong rug pattern

On-chain
dev holds38% of supply
liquiditynot locked
linked accounts@rugzn · @dumpct
fundershared · 4 siblings

one field decides the trade

the API hands back the full read, but the part that matters is verdict, a single value your bot can route on without parsing a block explorer

CLEAR, on-chain history backs the pitch, no alarms surfaced
CAUTION, mixed signals worth a second look before sizing in
STOP, dumped supply, unlocked liquidity, or a shared funder with sibling deployers
For agents

drop LENS into your agent stack

ship the skill pack or wire the MCP server, either way your agent vets a dev before it engages

skill pack

lens-scan skill

a ready skill that takes a handle or contract and returns a CLEAR CAUTION STOP verdict, built for AEON and any agent that reads SKILL.md

skills/ lens-scan/ SKILL.md reads /api/lookup

github.com/Tholynceus/lens-skill-pack →

model context protocol

call it as a tool

expose lens-scan as an MCP tool so your model can pull the wallet read mid conversation and decide on its own

{ "tool": "lens_scan", "input": { "target": "@exitliq_dev" } }

see the agents page →

Reference

the endpoint

one route does the work, give it a target and read the fields it returns

GET/api/lookup· public · read only
usernameX handle to resolve, with or without the leading @
contractBase contract address starting with 0x, used in place of a handle
verdictCLEAR, CAUTION, or STOP, the single value to branch on
trustscore from 0 to 100, higher is safer
devSoldtrue when the deployer dumped supply to a DEX router
feeShareshare of fees the dev captures
liquiditylocked or unlocked
linkedother handles sharing the same wallet
fundershared or self, plus sibling deployer count

only fields the read actually returns are present, a missing signal is omitted rather than guessed

read the wallet first

try a scan in your terminal right now, or drop the skill into your agent and let it decide