Api Endpoint

On-chain Forensics

Settle-safe pre-trade screen for AI agents: canonical-asset check against the verified registry (EVM tokens + XRPL issuers, chain=xrp) plus optional counterparty wallet trust tier

Open interactive test console

Offering

Provider
solene-fa2010da.base44.app
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Financial Analysis
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://solene-fa2010da.base44.app/functions/forensicsSettlesafe
MIME type
application/json
First seen
2026-10-31T14:59:46.576Z
Last seen
Tags
forensics, blockchain, Crypto, due-diligence, rwa, Solana, Derivatives, wallet-risk, X402, settlesafe, financial-analysis, tokens, Wallet, Base, Ethereum

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.02 USDC
Atomic price: 20000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "payTo": "0x8EBf296c6273760ed9604C428f7EC13255E46fb9"
  }
]

Observed health

Status
Healthy
Latest latency
1330 ms
Average latency
1281 ms
HTTP status
402
Last checked
Reachability
100% over 3 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD",
        "DELETE"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$|^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
          "description": "ERC-20 contract (0x...) or XRPL issuer (r..., chain=xrp); issuer= alias accepted"
        },
        "token": {
          "type": "string",
          "enum": [
            "ondo",
            "qnt",
            "edel",
            "xlm",
            "aero",
            "degen",
            "brett",
            "buidl",
            "usdy",
            "ousg",
            "ustb",
            "usyc",
            "bcspx",
            "bcoin",
            "bnvda",
            "btsla",
            "aapl",
            "nvda",
            "usdc",
            "usdc_eth",
            "rlusd",
            "gatehub-usd",
            "bitstamp-usd",
            "bitstamp-eur"
          ],
          "description": "named alias alternative to address"
        },
        "chain": {
          "type": "string",
          "enum": [
            "base",
            "ethereum",
            "robinhood",
            "xrp"
          ],
          "description": "default base"
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$|^[0-9A-Fa-f]{40}$",
          "description": "XRPL issued-currency code (chain=xrp)"
        },
        "counterparty": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$|^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
          "description": "optional counterparty trust screen"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "method"
  ]
}

Output schema

{
  "type": "object",
  "required": [
    "service",
    "paid",
    "data"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "endpoint",
        "checked_at",
        "chain",
        "settle_safe",
        "overall_pass",
        "asset_status",
        "asset",
        "risk_flags",
        "reasons",
        "plain_take"
      ],
      "properties": {
        "asset": {
          "type": "object",
          "properties": {
            "contract": {
              "type": "string"
            },
            "token_name": {
              "type": [
                "string",
                "null"
              ]
            },
            "is_contract": {
              "type": "boolean"
            },
            "token_symbol": {
              "type": [
                "string",
                "null"
              ]
            },
            "total_supply": {
              "type": [
                "string",
                "null"
              ],
              "description": "Human-readable total supply at the token's own decimals"
            },
            "registry_alias": {
              "type": [
                "string",
                "null"
              ]
            },
            "registry_canonical": {
              "type": "boolean"
            }
          }
        },
        "chain": {
          "enum": [
            "base-mainnet",
            "ethereum-mainnet"
          ],
          "type": "string"
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "endpoint": {
          "type": "string",
          "const": "settlesafe"
        },
        "checked_at": {
          "type": "string",
          "format": "date-time"
        },
        "plain_take": {
          "type": "string",
          "description": "Shareable plain-language verdict"
        },
        "risk_flags": {
          "type": "array",
          "items": {
            "enum": [
              "NOT_A_CONTRACT",
              "NOT_ERC20_READABLE",
              "SYMBOL_MISMATCH",
              "NOT_IN_VERIFIED_REGISTRY",
              "COUNTERPARTY_SUSPICIOUS",
              "COUNTERPARTY_SCREEN_FAILED",
              "READ_VERIFICATION_DEGRADED"
            ],
            "type": "string"
          }
        },
        "settle_safe": {
          "type": "boolean",
          "description": "Asset screen result only"
        },
        "asset_status": {
          "enum": [
            "KNOWN_CANONICAL",
            "UNVERIFIED",
            "NOT_A_CONTRACT",
            "NOT_ERC20_READABLE",
            "SYMBOL_MISMATCH",
            "VERIFICATION_UNAVAILABLE"
          ],
          "type": "string",
          "description": "KNOWN_CANONICAL = contract matches the verified tokenized-asset registry and serves a readable ERC-20; UNVERIFIED = live ERC-20 but not in the registry; NOT_A_CONTRACT = EOA; NOT_ERC20_READABLE = totalSupply() revert confirmed on healthy nodes; SYMBOL_MISMATCH = on-chain symbol differs from the registry entry; VERIFICATION_UNAVAILABLE = public RPC network degraded, no verdict issued (retry)."
        },
        "counterparty": {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "error": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Present when the screen itself failed (risk flag COUNTERPARTY_SCREEN_FAILED)"
                },
                "address": {
                  "type": "string"
                },
                "trust_pass": {
                  "type": "boolean",
                  "description": "True only for TRUSTED_ACTIVITY"
                },
                "trust_tier": {
                  "enum": [
                    "TRUSTED_ACTIVITY",
                    "LIGHT_ACTIVITY",
                    "NO_RECENT_ACTIVITY",
                    "SUSPICIOUS",
                    "EMPTY",
                    "CONTRACT_ADDRESS",
                    "DELEGATED_EOA"
                  ],
                  "type": "string",
                  "description": "TRUSTED_ACTIVITY = >=10 lifetime txs, >=5 unique counterparties and >=8 in-window transfers; LIGHT_ACTIVITY = some history, limited activity; NO_RECENT_ACTIVITY = history but no ERC-20 movement in the window; SUSPICIOUS = funded but never sent a transaction (bait/dust pattern); EMPTY = no history at all; CONTRACT_ADDRESS = holds standalone contract code (screen with /functions/forensicsToken first); DELEGATED_EOA = EIP-7702 smart-account wallet (code is a delegation designator; screen the delegate before high-value settles)."
                },
                "is_contract": {
                  "type": "boolean",
                  "description": "eth_getCode non-empty (freshest of 3 nodes)"
                },
                "trust_reasons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "total_txs_sent": {
                  "type": "integer",
                  "description": "Lifetime outgoing transactions (eth_getTransactionCount)"
                },
                "eip_7702_delegated": {
                  "type": "boolean",
                  "description": "True when the code is exactly the EIP-7702 delegation designator — reported as DELEGATED_EOA, not CONTRACT_ADDRESS"
                },
                "unique_counterparties": {
                  "type": "integer"
                }
              },
              "description": "Trust tier heuristic: lifetime history (nonce) + ERC-20 flows in the recent window (~100 min)."
            },
            {
              "type": "null"
            }
          ]
        },
        "overall_pass": {
          "type": "boolean",
          "description": "Asset screen AND (counterparty screen if provided)"
        },
        "rpc_verification": {
          "type": "object",
          "properties": {
            "code_block": {
              "type": "integer",
              "description": "Block height of the freshest node used for the code read"
            },
            "supply_probe": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "node",
                  "outcome"
                ],
                "properties": {
                  "node": {
                    "type": "string",
                    "description": "RPC host that produced this outcome"
                  },
                  "outcome": {
                    "type": "string",
                    "description": "What happened on this node's attempt"
                  }
                }
              },
              "description": "Per-node evidence trail for the totalSupply read (v2.3.2): every RPC attempt that did NOT yield a well-formed result is logged here with its outcome, so any classification is auditable. Empty when all nodes answered well-formed on first try. Outcomes: invalid_result:<detail> (JSON-RPC success but empty/malformed result — common from degraded public nodes), error_retry / error_final (node error, retried once per node), skip_control_same_call (read failed and the control call is identical to the read, so no control is performed), control_failed (health check failed)."
            },
            "supply_status": {
              "enum": [
                "readable",
                "not_readable",
                "degraded"
              ],
              "type": "string",
              "description": "readable = well-formed result confirmed by 2 RPCs (or a single well-formed result when the rest of the public RPC pool is degraded — reads only count when the returned value is well-formed, so degraded nodes can never flip a classification); not_readable = revert confirmed on healthy nodes; degraded = public RPC network unavailable, screen inconclusive"
            },
            "code_agreeing_nodes": {
              "type": "integer",
              "description": "How many independent RPCs returned the same eth_getCode result"
            }
          }
        }
      },
      "description": "Pre-trade settle-safe screen ($0.02). Answers: is this the real asset, and can this counterparty be trusted? Decisive negatives (not-a-contract, not-readable) are confirmed across independent RPCs; a degraded public-RPC network yields VERIFICATION_UNAVAILABLE instead of a false negative."
    },
    "paid": {
      "type": "string",
      "description": "USDC amount reported by the provider; opt-in free trials are also supported."
    },
    "service": {
      "type": "string",
      "const": "onchain-forensics"
    },
    "free_trial": {
      "type": "object",
      "description": "Present for opt-in free-trial responses."
    },
    "settlement_tx": {
      "type": [
        "string",
        "null"
      ],
      "description": "Settlement transaction hash when available."
    }
  }
}