ToolAssay

Source-of-funds tracing

Source-of-funds tracing: POST a Base address, traces its earliest inbound funding (native ETH + ERC20) back up to N hops to find the first funder and ultimate origin. Stops at a labeled exchange or bridge (a KYC'd origin) or when no inbound exists. Returns the funding chain with labels, blocks, timestamps and amounts. For AI agent due diligence, sybil/cluster detection, source-of-funds and AML checks. Not financial advice. Accepts payment on Base or Solana — either network works.

Not tested: has real-world effectsour last check, 2026-09-24
0 of 0checks answered this week
n/amedian answer time
$0.1listed price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://api.x402node.dev/wallet/first-funder

CategoryCompany and compliance
Provider hostapi.x402node.dev
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days3 from 3 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "address": "string",
    "hops": "string"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "address": {
              "description": "EVM/chain address (required)",
              "type": "string"
            },
            "hops": {
              "description": "Hops (optional)",
              "type": "string"
            }
          },
          "required": [
            "address"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON