Genesis402
<p align="center">
<img src="assets/genesis402-banner.png" alt="Genesis402 by UnyKorn: pay-per-call APIs for AI agents" width="100%">
</p>
<p align="center">
<a href="https://www.npmjs.com/package/genesis402-mcp"><img src="https://img.shields.io/npm/v/genesis402-mcp?color=c4560a&label=npm" alt="npm"></a>
<a href="https://registry.modelcontextprotocol.io/v0/servers?search=genesis402"><img src="https://img.shields.io/badge/MCP%20Registry-io.github.FTHTrading%2Fgenesis402--mcp-0b0d12" alt="MCP Registry"></a>
<a href="https://glama.ai/mcp/connectors/io.github.FTHTrading/genesis402-mcp"><img src="https://img.shields.io/badge/Glama-connector-0b0d12" alt="Glama"></a>
<a href="https://smithery.ai/servers/kevanbtc/genesis402-mcp"><img src="https://smithery.ai/badge/kevanbtc/genesis402-mcp" alt="smithery badge"></a>
<a href="https://mcpservers.org/servers/fthtrading/genesis402-agent-kit"><img src="https://mcpservers.org/badge.svg" alt="Listed on mcpservers.org"></a>
<a href="https://8004scan.io/agents/base/95721"><img src="https://img.shields.io/badge/ERC--8004-agent%2095721%20on%20Base-9a6a1f" alt="ERC-8004 agent 95721"></a>
<a href="https://twin.unykorn.org/status"><img src="https://img.shields.io/badge/status-live-1fbf75" alt="Live status"></a>
<a href="https://discord.gg/qqH42PswDd"><img src="https://img.shields.io/badge/discord-join-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
<img src="https://img.shields.io/badge/license-MIT-6b7280" alt="MIT">
</p>
<p align="center">
<b>360 pay-per-call APIs for AI agents over x402 and MPP.</b><br>
USDC on Base · $0.001 to $0.25 a call · no API key · no account.<br>
Every response names its sources and carries an evidence hash. A paid call that is not delivered is re-delivered free on retry.
</p>
<p align="center">
<a href="https://twin.unykorn.org">Rail</a> ·
<a href="https://twin.unykorn.org/catalog">Catalog</a> ·
<a href="https://twin.unykorn.org/status">Live status</a> ·
<a href="https://twin.unykorn.org/receipts">Receipts</a> ·
<a href="https://unykorn.ai">UnyKorn</a>
</p>
---
> **Guide:** [Screen a wallet before your agent moves money](docs/guides/screen-a-wallet.md) — $0.008 a check, three ways to call it.
>
> **Community:** [join the UnyKorn Discord](https://discord.gg/qqH42PswDd). Run a free counterparty report with `/check`, watch paid calls settle live in `#rail-feed`, and ask questions in `#help`.
## Connect in 30 seconds
### Hosted MCP (nothing to install)
Add this remote to Claude, Cursor, VS Code or any MCP client that speaks streamable HTTP:
```
https://twin.unykorn.org/mcp
```
The hosted server holds no keys. Free tools (`catalog`, `receipt`) work immediately. Paid tools return the exact price quote, or run with a `payment_signature` you produce with your own wallet.
### Local MCP (pays for you, within a cap you set)
```json
{
"mcpServers": {
"genesis402": {
"command": "npx",
"args": ["-y", "genesis402-mcp"],
"env": {
"GENESIS402_LIVE": "1",
"GENESIS402_PAYER_KEY": "0x<private key of a wallet holding a little USDC on Base>",
"GENESIS402_MAX_USD": "0.25"
}
}
}
}
```
Without `GENESIS402_LIVE=1` the server is quote-only: it shows the price and signs nothing. The rail sets the price; the client decides whether to accept it. Use a dedicated wallet with a small balance.
### Plain HTTP, any language
**x402**
```
GET https://twin.unykorn.org/price/bitcoin
→ 402, header payment-required: <base64 x402 v2 challenge>
sign the USDC authorization (EIP-3009) for the quoted amount, retry with X-PAYMENT
→ 200 + result + receipt id
```
**MPP** (the `Payment` HTTP auth scheme)
```
GET https://twin.unykorn.org/price/bitcoin
→ 402, header WWW-Authenticate: Payment id="…", method="usdc", intent="charge", request="…"
sign the same EIP-3009 authorization, retry with Authorization: Payment <base64url credential>
→ 200 + result + Payment-Receipt header
```
Both dialects quote the same price to the same address in the same token. MPP discovery is the standard `/openapi.json` with `x-payment-info` on every operation.
**Free before you pay:** `POST /__validate` checks your parameters with the same validator the paid path uses, so a bad request is never charged.
---
## MCP tools
| Tool | What it does | Cost |
|---|---|---|
| `genesis402_catalog` | Every endpoint with path, price and parameter schema, from the live manifest | Free |
| `genesis402_receipt` | Look up a paid-call receipt by id | Free |
| `genesis402_call` | Call any of the 360 endpoints by name | Per endpoint |
| `genesis402_counterparty_report` | Company + registered parents + UN/OFAC/EU/UK sanctions screen, one verdict, signed receipt, branded PDF and public verify page | $0.25 |
| `genesis402_sanctions_name_screen` | One name against the UN, OFAC SDN, EU and UK lists, with list versions cited | $0.02 |
| `genesis402_company_lookup` | Any company worldwide by name, LEI or SEC CIK (GLEIF + SEC EDGAR), with registered parents | $0.01 |
| `genesis402_wallet_brief` | Wallet risk signals: sanctions list, 10-chain scan, activity, summary | Paid |
| `genesis402_token_brief` | Token pre-trade check: metadata, price, holder concentration, verification | Paid |
| `genesis402_screen_sanctions` | Public-data sanctions-list signal for one address | Paid |
| `genesis402_multi_chain_scan` | One address across 10 EVM chains in one call | Paid |
| `genesis402_defi_yields` | Ranked yields from 15,000+ pools, filterable by chain, protocol, token, TVL | Paid |
| `genesis402_sec_financials` | As-reported fundamentals for a US public company from SEC XBRL | Paid |
| `genesis402_email_check` | MX, provider, SPF, DMARC, disposable flag, trust score | Paid |
| `genesis402_whois` | Registrar, age, expiry, status and nameservers via RDAP | Paid |
| `genesis402_extract_json` | Extract the fields you name from any text; missing fields are null | Paid |
| `genesis402_web_extract` | Any public page as clean text, title, headings and links | Paid |
| `genesis402_prove` | Signed Ed25519 receipt binding your digest to a settled payment | Paid |
| `genesis402_summarize` | Summarize text as a paragraph, bullets or TL;DR within a word limit | Paid |
| `genesis402_answer_from_text` | Answer one question from your document, with a verified supporting quote | Paid |
| `genesis402_translate` | Translate text into any major language, preserving names, numbers and formatting | Paid |
| `genesis402_paper_search` | Scholarly paper search (OpenAlex) with citation counts and open-access links | Paid |
Live prices come from the rail's manifest; `genesis402_catalog` shows them. Every paid tool returns the receipt id and evidence hash with the result.
## What is on the rail (360 endpoints)
| Family | Count | Examples | Price |
|---|---:|---|---|
| Crypto prices | 72 | `/price/bitcoin`, `/price/ethereum` … | $0.001 |
| DeFi and markets | 47 | `/defi/yields`, `/defi/stablecoins`, `/defi/chain/base`, `/defi/fees` | $0.002–$0.01 |
| Chain reads: 10 EVM chains + BTC, SOL, XLM, XRP | 83 | `erc20-balance`, `evm-multi-chain-scan`, `evm-proof`, `xrpl-account`, `stellar-account`, `solana-account`, `btc-utxos` | $0.001–$0.008 |
| Deterministic compute | 64 | hashes, encodings, ABI encode/decode, EIP-712, merkle, ENS | $0.001–$0.003 |
| Due diligence and risk | 10 | `/wallet-brief`, `/token-brief`, `screen-sanctions`, `holder-concentration`, `/risk` | $0.008–$0.25 |
| Public records | 12 | `/records/sec-financials`, `/records/sec-filings`, `/records/fx-rates`, `/records/treasury-yields`, `/records/vin-decode` | $0.001–$0.01 |
| Research | 15 | `/research/arxiv-search`, `/research/doi`, `/research/npm-package`, `/research/wiki-summary` | $0.001–$0.003 |
| Web and domain intelligence | 15 | `/web/whois`, `/web/dns`, `/web/tls-cert`, `/web/email-check`, `/web-extract`, `/summarize-url` | $0.001–$0.004 |
| Places, time, weather | 10 | `/geo/geocode`, `/geo/weather-forecast`, `/geo/public-holidays` | $0.001–$0.002 |
| AI on our own GPU | 16 | `/v1/chat/completions` (OpenAI-compatible), `/v1/embeddings`, `/ai/extract`, `/ai/text-to-sql`, `/ai/summarize` | $0.002–$0.01 |
| Proofs | 2 | `/prove`, `/json-canonical` | $0.001–$0.25 |
Full list with schemas and live examples: [catalog](https://twin.unykorn.org/catalog), `/.well-known/x402`, `/openapi.json`.
## What the rail commits to
- **Validate before pay.** Bad input returns 400 with "nothing was charged".
- **Sources on every answer.** Each response lists the upstream it read and an `evidence_hash`. A failed upstream is an error, never a silent zero.
- **Make-good.** A paid call that is not delivered is recorded as owed and re-delivered free on retry; the guardian reconciles every settlement on-chain within 48 hours.
- **Public status.** [twin.unykorn.org/status](https://twin.unykorn.org/status) is the guardian's own report, refreshed every 5 minutes.
- **Identity.** ERC-8004 agent 95721 on Base; A2A card at the rail root.
## Payment rails
x402 v2 `exact` scheme and MPP `usdc`/`charge` (EIP-3009 authorization), on USDC on Base (primary) and Polygon. Solana USDC via facilitator settlement. XRP and USDC on XRPL and Stellar are pay-first, with the payment bound to the challenge nonce. The 402 response lists exactly which lanes are payable right now.
## Repo layout
- `mcp/` — the MCP server (`npx genesis402-mcp`; `genesis402-mcp-http` for hosted mode), `server.json` for the MCP Registry, `smoke.mjs` (13 read-only checks against the live rail).
- `quickstart/` — Node and Python payers for Base, XRPL and Stellar; `screen.mjs` for the wallet-screening guide.
- `assets/` — brand banner and icon.
---
<p align="center">
<img src="assets/unykorn-crest.svg" width="44" alt="UnyKorn"><br>
<b>Built by <a href="https://unykorn.ai">UnyKorn LLC</a></b> · Wyoming<br>
<sub>MIT license. Risk and sanctions outputs are heuristic signals from public data, not KYC or a compliance determination. Not financial, legal or tax advice.</sub>
</p>
TDQS
Scored across 21 tools
The tools cover distinct tasks, and descriptions explicitly cross-reference alternatives to clarify use cases (e.g., 'for a wallet use wallet_brief'). Some overlap exists between sanctions-related tools (screen_sanctions vs. wallet_brief) and text tools (summarize vs. answer_from_text), but the descriptions resolve most ambiguity.
All tools share the consistent prefix 'genesis402_' and use snake_case, making them predictable. However, the naming pattern mixes verb_noun (e.g., screen_sanctions) and noun phrases (e.g., catalog, receipt), so it's not a strict verb_noun convention throughout.
21 tools is on the higher side but justified by the broad domain (DeFi, sanctions, AI text, web intel). The generic genesis402_call tool handles the remaining 366 endpoints, so the dedicated tools are conveniences rather than redundant bloat.
The surface covers discovery (catalog), execution (call and dedicated tools), and verification (receipt, prove). Minor gaps exist, such as no tool to list or search receipts, but the generic call plus catalog provides a workaround for most needs.