# SolEnrich Wallet Link Check

> SolEnrich Wallet Link Check is a paid API for AI agents from api.solenrich.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-13).

Returns a same-owner confidence score and verdict for two Solana wallets by analyzing direct transfers, first funders, wallet age, activity, and x402 payments

## Facts

- Endpoint: POST https://api.solenrich.com/entrypoints/wallet-link-check/invoke?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/solenrich-wallet-link-check-4f245bcc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jOvUTzHcc7ls9JttNE_dL

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 solenrich-wallet-link-check-4f245bcc -d '<json body>'
```

Example prompt: Before we approve switching the payout wallet to GxT3...kPz7, can you check if it's likely owned by the same person as the old wallet 5bVq...mR2W — use payout_rotation context and give me both the confidence score and a structured JSON breakdown?

## When to prefer this

Choose this endpoint when you need to verify whether two specific Solana wallets share an owner — especially in x402 payment contexts where a payout wallet change needs trust validation. It is purpose-built for wallet rotation fraud detection and provides richer linkage evidence (first funders, x402 history, age signals) than generic blockchain explorers. Prefer it over general wallet enrichment endpoints when the specific question is same-owner identity, not portfolio or DeFi analysis.

## Known failure modes

- Invalid or malformed Solana base58 address returns a 400 error
- Wallet with no on-chain history yields UNCERTAIN verdict with low confidence
- Token account resolution failure if a non-owner address is submitted
- Insufficient on-chain data to establish linkage results in low-confidence UNCERTAIN
- Network timeouts or RPC errors from Solana data providers may cause 5xx responses
- Wallets with purely private/off-chain interactions cannot be linked

## How this service works

Same-owner confidence (0-1) and verdict for two Solana wallets: direct transfers between them, first funders (one step back), age and activity of the new wallet, x402 payments it has received, risk flags. Thin evidence gives UNCERTAIN. Built for x402 trust monitors checking a payout-wallet change.

## Output

Returns a same-owner confidence score (0–1), a verdict (e.g. LIKELY_SAME, UNLIKELY_SAME, UNCERTAIN, or LIKELY_ROTATION in payout_rotation context), evidence signals including direct transfers between the two wallets, first funder overlap (one hop back), the new wallet's age and activity metrics, any x402 payments it has received, and risk flags. Thin or absent on-chain evidence yields an UNCERTAIN verdict. Response format can be structured JSON, a short LLM-readable briefing, or both.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "format": {
   "enum": [
    "json",
    "llm",
    "both"
   ],
   "type": "string",
   "default": "json",
   "description": "Response format: json (structured fields, default), llm (short deterministic briefing), or both (fields plus llm_summary)."
  },
  "context": {
   "enum": [
    "payout_rotation",
    "general"
   ],
   "type": "string",
   "default": "general",
   "description": "payout_rotation labels a same-owner result LIKELY_ROTATION"
  },
  "wallet_a": {
   "type": "string",
   "maxLength": 44,
   "minLength": 32,
   "description": "Old wallet (Solana base58; a token account is resolved to its owner)"
  },
  "wallet_b": {
   "type": "string",
   "maxLength": 44,
   "minLength": 32,
   "description": "New wallet (Solana base58; a token account is resolved to its owner)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "output": {
   "x402": {
    "distinct_payers": 0,
    "known_facilitator": false,
    "usdc_inflows_sampled": 1,
    "facilitator_style_inflows": 0
   },
   "context": "payout_rotation",
   "funding": {
    "a_funder": "xByP6T1RQqFkS6sSaSbzFA15t7AJ3BcSR1enjDqnN1y",
    "b_funder": "66Qvhr1xnwqbCT36KfHfZF1JpoWdmCQ3uFYTN335CGXe",
    "b_funded_by_a": true,
    "shared_funder": null,
    "b_funder_entity": null,
    "b_funder_funder": null,
    "funding_tree_link": null
   },
   "verdict": "LIKELY_ROTATION",
   "evidence": [
    "A and B appear together in 2 transaction(s) (A→B 1, B→A 0)",
    "B received its first SOL from A",
    "B first seen 2026-09-26 (1492 transactions)"
   ],
   "wallet_a": "66Qvhr1xnwqbCT36KfHfZF1JpoWdmCQ3uFYTN335CGXe",
   "wallet_b": "5x2U2bCCpnAUoHz8WKyM324jiVGzvSSrJvWvdgcyeZ26",
   "b_profile": {
    "entity": null,
    "age_days": 7.8,
    "tx_count": 1492,
    "first_seen": "2026-09-26T00:01:23.000Z",
    "history_complete": true
   },
   "risk_flags": [],
   "direct_link": {
    "a_to_b": 1,
    "b_to_a": 0,
    "last_at": "2026-09-26T00:01:44.000Z",
    "complete": true,
    "first_at": "2026-09-26T00:01:23.000Z",
    "shared_txs": 2
   },
   "same_owner_confidence": 1
  },
  "run_id": "uuid",
  "status": "succeeded"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/solenrich-wallet-link-check-4f245bcc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.solenrich.com](https://www.zero.xyz/host/api.solenrich.com/llms.txt)
