# SolSentry Lookalike Address Check

> SolSentry Lookalike Address Check is a paid API for AI agents from api.solsentry.app, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-12).

Detects address-poisoning attacks on Solana by comparing a destination address against a user's prior contacts and returning ranked lookalike findings with confidence scores.

## Facts

- Endpoint: GET https://api.solsentry.app/x402/v1/lookalike-check?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/solsentry-lookalike-address-check-40586b37
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1kB0H3KyQRoiVbkRHth-h

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability solsentry-lookalike-address-check-40586b37
```

Example prompt: Before I send SOL, check if the destination address 7xKp...3mNq is a lookalike or poisoned version of any of these addresses I've paid before: 7xKp...AAAA, 9mZq...3mNq, 3jWe...77Bk.

## When to prefer this

Choose this endpoint when you need a fast, pre-send security check on Solana specifically targeting address-poisoning and lookalike wallet attacks. It is purpose-built for comparing a single destination against a known contact list and returning ranked, explainable findings — ideal for wallets, payment bots, or DeFi apps that maintain transaction history and want to protect users before funds leave. Prefer it over generic address validation when you need confidence scoring and character-level prefix/suffix match analysis rather than just format validity.

## Known failure modes

- Invalid or malformed Solana address returns a validation error
- Empty or missing contacts list may return no findings with confidence 'none'
- Cached results may not reflect the very latest on-chain state (provenance.cached = true)
- Network timeout or upstream Solana RPC issues may cause delayed or failed responses
- Addresses shorter than 32 or longer than 44 characters will be rejected by schema validation

## How this service works

Address-poisoning pre-send check. Give the destination you are about to pay plus the addresses the user has paid before; returns findings ranked by confidence when the destination is a visual or pref…

## Output

Returns a JSON object with a boolean 'suspect' flag, an overall confidence level ('strong', 'medium', 'weak', or 'none'), a list of findings each containing the matched original contact, prefix/suffix character match counts, and reasons for flagging, plus provenance metadata indicating when the check was performed, whether data was cached, and the Solana slot it reflects.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "destination",
      "contacts"
     ],
     "properties": {
      "contacts": {
       "type": "string",
       "description": "Comma-separated prior contact addresses"
      },
      "destination": {
       "type": "string",
       "maxLength": 44,
       "minLength": 32,
       "description": "Address about to receive funds"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "suspect": {
       "type": "boolean"
      },
      "findings": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "reasons": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "confidence": {
          "type": "string"
         },
         "prefix_match": {
          "type": "integer"
         },
         "suffix_match": {
          "type": "integer"
         },
         "original_contact": {
          "type": "string"
         }
        }
       }
      },
      "confidence": {
       "type": "string",
       "description": "'strong' | 'medium' | 'weak' | 'none'"
      },
      "provenance": {
       "type": "object",
       "properties": {
        "cached": {
         "type": "boolean"
        },
        "source": {
         "type": [
          "string",
          "null"
         ]
        },
        "as_of_slot": {
         "type": [
          "integer",
          "null"
         ]
        },
        "fetched_at": {
         "type": "string",
         "description": "ISO-8601 UTC timestamp"
        }
       },
       "description": "Freshness of this answer: when it was fetched/computed (UTC), whether it came from a cache layer, and the Solana slot it reflects when the underlying data source exposes one (null otherwise)."
      },
      "destination": {
       "type": "string"
      },
      "cont
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/solsentry-lookalike-address-check-40586b37/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.solsentry.app](https://www.zero.xyz/host/api.solsentry.app/llms.txt)
