Skip to main content
Glama

audit_funders

audit_funders
Read-onlyIdempotent

Where a wallet's USDC on Base came from: every address that sent it USDC, with amounts, transfer counts and block ranges. A sender that is a contract (an escrow refund, a router, a bridge) is marked as a return path, not a funder. Call it on a line: a call without one has only a moment, enough for a small range of recent blocks, and is cut, uncharged, when it needs longer. from_block is a block number and defaults to the whole history; Base adds about 43,200 blocks a day. The first answer says how many windows the scan will take and about how many milliseconds, at the pace of recent scans, and each one after says how many are done. $0.000001 per millisecond on a line. Paid, on a line. With no wallet code, a pass (https://mcp.zeamprism.com/pass) or the Bridge buys the time and opens the line for you: https://mcp.zeamprism.com/how-to-pay Example: {"address":"0x000000000000000000000000000000000000dEaD","from_block":51000000}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lineNooptional — a line credential: the call burns the line's time and carries no payment.
tokenNooptional string — the asset to follow, 0x form; default USDC.
windowNooptional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.
addressYesstring — the wallet, 0x form.
to_blockNooptional int — stop; default the head.
from_blockNooptional int — the block to start from; default the whole history. If the line runs out mid-scan you get what was scanned so far, marked partial; continue with to_block set to one below scanned.from.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
noteNo
errorNo
rangeNo
tokenNo
addressNo
fundersNo
partialNo
scannedNo
windowsNo
about_msNo
evidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / about_ms
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "about how many milliseconds the rest of the scan needs, at the pace of recent scans; absent when it is done or no scan of this kind has run",
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  2. Changed8 schema fields changed
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — the block to start from; default the whole history. If the line runs out mid-scan you get what was scanned so far, marked partial; continue with to_block."New value: +"optional int — the block to start from; default the whole history. If the line runs out mid-scan you get what was scanned so far, marked partial; continue with to_block set to one below scanned.from."
    • addedInput schema / properties / from_block / minimum
      Added value: +0
    • changedInput schema / properties / from_block / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / to_block / minimum
      Added value: +0
    • changedInput schema / properties / to_block / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / window / minimum
      Added value: +1
    • changedInput schema / properties / window / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / windows
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "description": "how far the scan has got",
      +      "properties": {
      +        "about_ms": {
      +          "anyOf": [
      +            {
      +              "description": "on the first answer: about how long the whole scan takes at the pace of recent scans of this kind; absent until one has run",
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "blocks": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "done": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "of": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to 1.6 s per 10,000 blocks here, by the wallet's traffic."New value: +"optional int — the block to start from; default the whole history. If the line runs out mid-scan you get what was scanned so far, marked partial; continue with to_block."
    • changedInput schema / properties / token / description
      Previous value: -"optional string — the asset to follow, 0x form; default the chain's stablecoin."New value: +"optional string — the asset to follow, 0x form; default USDC."
  4. Changed1 schema field changed
    • changedInput schema / properties / line / description
      Previous value: -"optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta."New value: +"optional — a line credential: the call burns the line's time and carries no payment."
  5. Changed1 schema field changed
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. ~0.65 s per 10,000 blocks here."New value: +"optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to 1.6 s per 10,000 blocks here, by the wallet's traffic."
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "address": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "anyOf": [
      +        {
      +          "description": "present when ok is false",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "evidence": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "how to reproduce this on any archive node",
      +          "properties": {
      +            "at_block": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "decode": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "method": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "note": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "params": {
      +              "anyOf": [
      +                {
      +                  "items": {},
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "funders": {
      +      "anyOf": [
      +        {
      +          "description": "inbound senders, raw token units; kind is contract or account from eth_getCode",
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "ok": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "partial": {
      +      "anyOf": [
      +        {
      +          "description": "true while the scan has not reached range.from; a cut line returns the last partial",
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "range": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "from": {
      +              "type": [
      +                "number",
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "to": {
      +              "type": [
      +                "number",
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "scanned": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "the blocks actually covered so far, newest first",
      +          "properties": {
      +            "from": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "to": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "token": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "token metadata, decimals read from the contract",
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed6 schema fields changed
    • changedInput schema / properties / address / description
      Previous value: -"string — the wallet to trace, 0x form."New value: +"string — the wallet, 0x form."
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — where to start. Defaults to the token's deployment — the whole history; the line meters the scan. If the line runs out first you get what was scanned so far, newest blocks first, marked partial with the range covered; call again with to_block below that to continue. Measured 2026-09-17: ~0.65 s per 10,000-block window on this node; the whole history is ~4,900 windows."New value: +"optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. ~0.65 s per 10,000 blocks here."
    • changedInput schema / properties / line / description
      Previous value: -"optional — credential from the /pay socket. With it the call is served off your line and carries no payment. Without it, put x402 payment in params._meta."New value: +"optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta."
    • changedInput schema / properties / to_block / description
      Previous value: -"optional int — where to stop. Defaults to the head."New value: +"optional int — stop; default the head."
    • changedInput schema / properties / token / description
      Previous value: -"optional string — the asset to follow, 0x form. Defaults to the chain's main stablecoin."New value: +"optional string — the asset to follow, 0x form; default the chain's stablecoin."
    • changedInput schema / properties / window / description
      Previous value: -"optional int — blocks per snapshot, default 10000 (~0.65 s each on this node). Smaller windows give a short line a first snapshot sooner; the whole scan costs about the same."New value: +"optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner."
  8. Changed2 schema fields changed
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — where to start. Defaults to the token's deployment; the line meters the whole scan."New value: +"optional int — where to start. Defaults to the token's deployment — the whole history; the line meters the scan. If the line runs out first you get what was scanned so far, newest blocks first, marked partial with the range covered; call again with to_block below that to continue. Measured 2026-09-17: ~0.65 s per 10,000-block window on this node; the whole history is ~4,900 windows."
    • addedInput schema / properties / window
      Added value: +{
      +  "description": "optional int — blocks per snapshot, default 10000 (~0.65 s each on this node). Smaller windows give a short line a first snapshot sooner; the whole scan costs about the same.",
      +  "type": "number"
      +}
  9. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  10. Changed1 schema field changed
    • changedInput schema / properties / from_block / description
      Previous value: -"optional int — where to start. Defaults to the token's deployment if known, else 0."New value: +"optional int — where to start. Defaults to the token's deployment; the line meters the whole scan."
  11. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources