# Merchant Check (KYB Facts)

> Merchant Check (KYB Facts) is a paid API for AI agents from api.stablecoingateways.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-28).

Verifies a merchant domain and company name by aggregating domain registration data, DNS/email-auth records, OFAC sanctions screening, GLEIF LEI lookup, and SEC EDGAR match into a single signed fact report.

## Facts

- Endpoint: GET https://api.stablecoingateways.com/v1/merchant-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/merchant-check-kyb-facts-2ec35c9d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0U8H927NRHIrLmZrTZg9i

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 merchant-check-kyb-facts-2ec35c9d
```

Example prompt: Before I pay this invoice, can you run a merchant check on stripe.com for the company 'Stripe Inc.' — I want to see domain age, OFAC sanctions status, whether they have an LEI, and their SEC EDGAR record?

## When to prefer this

Choose this endpoint when an AI agent needs to perform pre-payment or pre-onboarding due diligence on a merchant or vendor in a single call, combining domain provenance, email-auth, sanctions screening, and corporate registry checks. Prefer it over individual domain-lookup or sanctions endpoints when you need a bundled, signed KYB fact pack. It does not return a risk score or fraud verdict, so use it as a factual evidence layer for a human or downstream decision-making step.

## Known failure modes

- Invalid or unresolvable domain returns error or empty domain facts
- OFAC or GLEIF services temporarily unavailable may return partial results
- Company name too short or ambiguous may yield many false-positive LEI matches
- Domain not yet in RDAP registry returns missing registration data
- SEC EDGAR match fails if company is non-US or not publicly registered
- Payment failure (x402) if USDC balance is insufficient

## How this service works

Merchant check (KYB facts) before an agent pays: give a merchant's domain and optionally its company name, get neutral sourced facts in one call for merchant verification and vendor due diligence: domain registration date and age, expiry and registrar (registry RDAP), DNS and SPF/DMARC email-auth, an OFAC sanctions screen of the name, GLEIF LEI match and SEC EDGAR match. No risk score or fraud verdict. Signed receipt.

## Output

A structured JSON fact report containing: domain registration date, age, expiry, and registrar from RDAP; DNS records and SPF/DMARC email-auth status; OFAC sanctions screen results with match count and scores; GLEIF LEI records matching the company name; SEC EDGAR company match with CIK, tickers, and exchanges; a notice clarifying this is neutral facts only (no risk score or fraud verdict); a note on whether name-to-domain link is verified; and a cryptographically signed receipt with transaction hash, price, and endpoint ID.

## 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"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "domain"
     ],
     "properties": {
      "lei": {
       "type": "string",
       "pattern": "^[A-Za-z0-9]{18}[0-9]{2}$",
       "description": "Optional 20-character LEI (instead of a GLEIF name search)"
      },
      "name": {
       "type": "string",
       "maxLength": 120,
       "minLength": 2,
       "description": "Company legal or trading name; screens OFAC (entities only), GLEIF LEI and SEC"
      },
      "domain": {
       "type": "string",
       "pattern": "^[A-Za-z0-9.-]{3,253}$",
       "examples": [
        "apple.com"
       ],
       "description": "Merchant domain or hostname (required)"
      },
      "ticker": {
       "type": "string",
       "pattern": "^[A-Za-z0-9.-]{1,10}$",
       "description": "Optional US stock ticker for the SEC match"
      },
      "country": {
       "type": "string",
       "pattern": "^[A-Za-z]{2}$",
       "description": "Optional ISO 3166 alpha-2 country filter for LEI matches"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data",
      "receipt"
     ],
     "properties": {
      "data": {
       "type": "object",
       "$schema": "https://json-schema.org/draft/2020-12/schema",
       "properties": {
        "lei": {
         "type": "object",
         "properties": {
          "query": {
           "type": "string"
          },
          "checked": {
           "type": "boolean"
          },
          "records": {
           "type": "array",
           "items": {
            "type": "object"
           }
          },
          "total_matches": {
           "type": "integer"
          },
          "country_filter": {}
         }
        },
        "sec": {
         "type": "object",
         "properties": {
   
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "lei": {
    "query": "Apple Inc.",
    "checked": true,
    "records": [
     {}
    ],
    "total_matches": 24,
    "country_filter": null
   },
   "sec": {
    "cik": "0000320193",
    "name": "Apple Inc.",
    "checked": true,
    "matched": true,
    "tickers": [
     "AAPL"
    ]
   },
   "facts": [
    {
     "fact": "apple.com was first registered on 1987-02-19 (39.7 years ago).",
     "source": "Registry RDAP (https://rdap.verisign.com/com/v1/)"
    }
   ],
   "query": {
    "lei": null,
    "name": "Apple Inc.",
    "domain": "apple.com",
    "ticker": null,
    "country": null
   },
   "domain": {
    "domain": "apple.com",
    "exists": true,
    "expires": "2027-02-20",
    "age_years": 39.7,
    "registered": "1987-02-19"
   },
   "notice": "Neutral facts with sources. Not a risk score, fraud verdict or compliance determination...",
   "sources": [
    "Registry RDAP via IANA bootstrap"
   ],
   "sanctions": {
    "query": "Apple Inc.",
    "matches": [],
    "screened": true,
    "min_score": 0.85,
    "match_count": 0
   },
   "checked_at": "2026-10-22T20:30:47.611Z",
   "name_domain_link": "Not verified: no public registry in this check links a company name to a domain. Treat ..."
  },
  "receipt": {
   "v": 1,
   "ts": "2026-10-22T09:00:00Z",
   "sig": "hex",
   "price": {
    "asset": "USDC",
    "amount": "10000",
    "network": "eip155:84532"
   },
   "log_seq": 1,
   "tx_hash": "0x..",
   "endpoint_id": "merchant-check-v1",
   "request_hash": "hex",
   "response_hash": "hex"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/merchant-check-kyb-facts-2ec35c9d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.stablecoingateways.com](https://www.zero.xyz/host/api.stablecoingateways.com/llms.txt)
