Human
by human.twin3.ai in Security & trust
Human verification for AI agents — proof of humanity, sybil resistance, and 'is this wallet a real person' answers in one paid call. Returns two ZK-style outputs about any EVM wallet: (1) total humanity score 0-255 (15 = baseline reCAPTCHA, 45 = + Google OAuth, 70 = + Apple ID, 105 = + 2FA, 255 = full stack), with optional `min_score=N` for a yes/no `passes` verdict; (2) per-method verification check via `check=telegram,apple,g2fa,...` — buyer must NAME the methods to ask about, we never enumerate the full set. Backed by 141,871 Twin Matrix Soulbound Tokens on BNB Chain plus the canonical humanity registry off-chain. The underlying verification list never leaves Twin3 — only verdicts.
GET https://human.twin3.ai/v1/human
Last 30 days
- Uptime
- 100%
- Response time
- 613 ms typical, 1.9 s slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://human.twin3.ai/v1/human?check=telegram%2Capple&include=verified_at%2Cdimensions_filled&match=age%3A25-34%2Cinterest%3Atravel%2Cincome%3A200-500%2B&min_score=70&wallet=0x1234567890123456789012345678901234567890"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fhuman.twin3.ai%2Fv1%2Fhuman
const res = await pay("https://human.twin3.ai/v1/human?check=telegram%2Capple&include=verified_at%2Cdimensions_filled&match=age%3A25-34%2Cinterest%3Atravel%2Cincome%3A200-500%2B&min_score=70&wallet=0x1234567890123456789012345678901234567890");
console.log(await res.json());Example input
{
"check": "telegram,apple",
"include": "verified_at,dimensions_filled",
"match": "age:25-34,interest:travel,income:200-500+",
"min_score": "70",
"wallet": "0x1234567890123456789012345678901234567890"
}Example output
{
"confidence": "high",
"dimensionsFilled": 8,
"isHuman": true,
"lastVerifiedAt": "2026-03-02T09:41:00Z",
"match": {
"conditions": [
{
"key": "age",
"pass": true,
"value": "25-34"
},
{
"key": "interest",
"pass": true,
"value": "travel"
}
],
"matched": true
},
"methodsCount": 4,
"passes": true,
"queriedAt": "2026-05-10T12:00:00Z",
"sbtId": 142031,
"score": 105,
"scoreCeiling": 255,
"scoreFloor": 15,
"scoreSource": "firestore",
"tier": "high",
"verifications": {
"apple": false,
"telegram": true
},
"verifiedAt": "2025-09-12T03:14:22Z",
"wallet": "0x1234567890123456789012345678901234567890"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 2.0 s | $0.001 |
| 6 h ago | Passed | 402 | 613 ms | $0.001 |
| 9 h ago | Passed | 402 | 406 ms | $0.001 |
| 14 h ago | Passed | 402 | 1.9 s | $0.001 |
| 16 h ago | Passed | 402 | 606 ms | $0.001 |
| 20 h ago | Passed | 402 | 528 ms | $0.001 |
| 25 h ago | Passed | 402 | 1.9 s | $0.001 |