keryx
Provides settlement infrastructure for sub-cent USDC nanopayments to creators using the Arc network.
Enables toll payments via Circle's x402 protocol for content access.
Allows users to query the Keryx research agent via a Discord slash command, receiving grounded answers with citations and creator payouts.
Manages an on-chain source registry for creator content attribution and payout splitting.
Allows creators to register RSS feeds as content sources for citation and payment.
Allows users to query the Keryx research agent via a Telegram bot, receiving grounded answers with citations and creator payouts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@keryxexplain the x402 micropayment protocol and how it benefits creators"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Keryx ποΈ
Keryx is a citation-toll reading agent for researchers and builders: a question and budget lead to a cited report, visible BUY/SKIP/CACHE decisions, and payment receipts for eligible creator rewards.
Guided recorded walkthrough Β· Live app Β· Public proof Β· Archived QA walkthrough (2m40s, app 0.27.43, recorded Oct 8). Reopens an archived first-party report and receipt; no new research was submitted. See the recording scope and public checks.
Try it in two minutes β no wallet
Open this existing English cited report about how source-access tolls differ from citation rewards. Read the summary and its
[S1]source excerpts, including the Low confidence boundary.Expand Decision log below the answer. Inspect why Keryx reused the cached first-party article and skipped unrelated candidates. This run has CACHE/SKIP decisions; it did not pay a new access toll.
Open View JSON in Portable research receipt, or use the direct receipt. Under
payload.settlement, checkmode: real,ledgerCompleteness: complete, 0 USDC access / 0.025 USDC citation, and the mainnet Circle reference. Receipt verification and the retained digest explain what these records prove.
This is an archived owner-operated QA result using Keryx Engineering (first-party), not a fresh answer or an outside customer's task. The location/job in its prompt is a test persona. It supports the three core payment facts but omits the requested document revision, so the original deliverable remains partial. Opening the report or receipt makes no research or payment request.
Next, ask your own question: open keryx.cc, choose Quick, and submit a shareable question. The public sponsored trial needs no wallet or sign-up; the composer shows the payer and budget. Admission depends on current quota, available capacity and spend caps, so a new answer within two minutes is not guaranteed. Submitted questions become public reports. See sponsored trial limits.
Related MCP server: x402 Payment Gateway MCP Server
Usage so far
Read-only snapshot of public metrics,
October 8, 2026, 16:24 UTC, with public health
reporting Arc mainnet / real settlement at 3b839ccd.
Measure | Observed value | Counting boundary |
Recorded research runs | 50 | All caller origins, including team and QA; not accepted deliverables |
Settled payment records | 7 | All payment kinds; pending, failed and simulated excluded |
Settled volume | 0.095 USDC | Gross payment volume, not net revenue |
Creator access + citation payouts | 0.065 USDC to 2 earning creators | Includes first-party recipients; not independent creator adoption |
Settled operating fees | 0 USDC | Reported separately from creator rewards |
Outside users / team / QA | Separate counts unavailable | The endpoint does not partition these groups; guest questions are not unique outside users |
Historical Arc testnet | Separate evidence only | Not included in these mainnet totals; see the event-period record |
These are dated database projections. Live Ledger and Public Proof expose the current records and their limits. The submission pack separately documents sponsored outside use on testnet and unmatched participant stories; none is inferred from these aggregate counts. Snapshot hashes retain the exact observation.
What is real and what is scripted
The two-minute path reopens a stored run. Its model-written answer, decision trace and receipt are recorded artifacts. It is a curated QA example, not a live rerun or evidence of customer acceptance.
The example's payment is recorded as real Arc mainnet settlement: one 0.025 USDC citation reward to the first-party Engineering source. Its cached read cost zero. The Circle transfer reference is not a per-citation Arc transaction hash.
First-party and public sources are distinct. Keryx Engineering and Keryx owner release notes are first-party validation sources. Public web/paper references alone grant no creator payout rights. Historical seeded sample sources have Keryx-controlled authority; they do not establish independent seller adoption.
CLI demo, seed and benchmark commands are scripts. Offline development uses labelled simulated payments. Invoking a real-mode script can make actual paid requests; it is not required for the wallet-free review path.
Production research is caller-driven. The local desktop alpha is not an autonomous scheduler. Monitoring/reconciliation jobs are operational checks, not independent users or fresh research. This public checkpoint does not verify the host's current schedule inventory.
Settlement is checked per receipt. Pending, failed, simulated and planned amounts are separate from settled value. A cited answer, healthy API or script completion alone does not prove a payment settled.
What happened during Tameion
The pre-event main baseline is
2291753 (September 25).
During the event Keryx added original-document and scholarly discovery, portable
cited-report exports, a local CLI/Windows task workspace, bounded manual Research
Monthly, and prepaid Operator recovery/observation. Production moved from Arc
testnet to mainnet on October 4. The
event-period product delta
links source evidence and the limits of each change.
The usage record separates the event's testnet phase from mainnet; the mainnet snapshot above includes internal activity. Sponsored outside use is documented, but independent paid demand, repeat use and general deliverable usefulness remain separate evidence gates. Source candidates beyond the observed deployment are not claimed live. The dated archived-QA walkthrough above reopens existing artifacts; it is not a live-Ask or complete current-feature demonstration.
The problem
The web's economics assume a human reader: you write, people visit, attention becomes ads, subscriptions, tips. AI agents broke that contract. They read everything and send back nothing β no click, no view, no cent. Every answer an assistant gives is built on someone's work, and that someone is invisible at the exact moment their work proves its value.
Keryx (ΞΊαΏΟΟ ΞΎ β herald) exists to fix that one moment. It makes citation itself the payment event: the instant an agent relies on your writing to answer a question, you are paid, proportional to how much you helped, settled sub-cent in USDC on Arc. No accounts, no invoices, no ad tech. A creator onboards by pasting an RSS URL. An agent pays because paying is cheaper than not knowing.
What Keryx is
Keryx is a citation-toll reading agent β an autonomous reader with a wallet, and the payment rail underneath it. Give it a question and a budget:
It decomposes the question into sub-claims and discovers exact article candidates from free previews and the signed offer book.
It decides, per article version: buy / skip / cache β expected value vs effective price vs remaining budget, with a human-readable rationale for every choice.
It pays the x402 toll only for what it buys, checks sufficiency after each read, and stops early when it has enough.
It returns a summary cited sentence by sentence: each sentence is written from one verbatim source excerpt, checked against it, and shown beside it, with explicitly labelled research targets/gaps. Uncited prose is withheld; the answer retains a Low/incomplete boundary, and allocates bounded citation rewards only to eligible accepted sources. Creator payouts are settled only when recorded payment evidence confirms settlement; multi-author rewards follow their payout split.
Ordinary short-bullet requests can retain their requested count and supported output language when every target, reviewed sentence and qualifying excerpt fits the same grounded layout. Otherwise the answer keeps inspectable target sections and explains the unmet format. See candidate scope and acceptance. Unsupported output-language requests use English scaffold labels without forcing statement translation; language-selection scope records the finite parser and remaining localization gates.
The result is a working micro-economy: readers that pay by default, and writers that earn by being useful β not by being clicked.
An agent that genuinely decides
Most "payment agents" are scripts with a wallet. Keryx's differentiator is visible agency β the model reasons about money and shows its work, streamed live to the UI:
Buy / skip / cache with rationale β every spend decision names the exact article version and explains why.
Open article market β
/marketandGET /api/offerspublish exact payable versions, registry list prices, x402 paths, and verifiable EIP-712 discounts signed by publishers.Source comparisons: recorded exact excerpts let readers inspect differing sources. The current claim-grounding candidate does not certify an independent synthesized conclusion about which source is correct.
Confidence boundary: the answer is labelled Low/incomplete. Qualified source excerpts provide recorded support; target coverage estimates do not verify each assertion or establish complete useful synthesis.
Sentence-cited summaries: each summary sentence is written from one qualified literal source excerpt, scored against that excerpt by a separate model review, and rendered beside the verbatim source text. Sentences without a qualifying excerpt or review are removed, and the answer falls back to excerpts alone when none survives. The review is a model judgment, not proof; cross-source conclusions are not written. Accepted excerpt citations still support rewards, with original paid-fetch debits, article bindings and settlement identities. Production now uses Arc mainnet; see the current deployment and evidence limits. Deployment does not establish complete useful synthesis or independent acceptance.
Evidence ledger β every rewarded citation carries a claim-indexed exact quote. The orchestrator verifies that quote against content it actually read before the marker can receive a citation reward; rejected markers are removed from the answer.
Living answer receipts β archived conclusions never silently change. Keryx flags when an exact paid SHA-256/IPFS article version has been superseded, exposes a metadata-only freshness API, and itemizes the source/evidence/coverage/settled-payment delta after a reader explicitly re-asks.
Researcher exports β import recorded cited-article references as BibTeX or RIS into Zotero, and compare claim-level excerpts in a research evidence matrix with spreadsheet CSV. Observed scholarly records include supplied authors/DOI/journal metadata and read limits; missing fields stay explicit. See researcher exports.
DOI and scholarly discovery β resolve up to two exact Crossref DOIs from a question, or opt into Crossref/arXiv searches. Read selected original publisher pages and bounded versioned arXiv PDFs, with explicit abstract-only fallback. Metadata and public papers carry no creator payout authority. See scholarly research and the separate proposed author opt-in payment plan.
Portable research receipts β every permalink exports one deterministic JSON bundle containing its answer hash, BUY/SKIP/CACHE decisions, exact article versions, claim evidence and sanitized Circle settlement snapshot. Retain its SHA-256 to detect later changes; the self-check does not pretend to be a Keryx, publisher, or on-chain signature.
Claim-aware evidence portfolios β Keryx chooses a non-redundant set of positive source proposals under separate attention and fetch-USDC caps. CACHE correctly costs zero fetch USDC but one context slot; the receipt compares preview-predicted coverage with evidence yield after read.
Cross-query memory β sources that proved useful (or useless) in past runs on the same subject shift future buy/skip decisions. A source is scored against the runs that actually read it, so a skip never becomes evidence against the source it skipped.
Semantic discovery β candidate matching by embedding similarity, not keyword luck.
Emergent frugality β it stops early, reuses its cache, and correctly spends nothing when nothing is worth buying.
Money safety is enforced in code, not by the model: the LLM proposes value; the orchestrator enforces the hard budget cap, so a hallucinated number can never overspend. An economic-invariant test suite (spend β€ budget, payouts = weights, splits sum exactly) runs in CI on every push.
The controlled offline paying-source study
runs the actual Keryx heuristic pipeline on four published fictional questions across
four budgets and three catalogue prices. Retained bodies, actual synthetic outputs,
literal/read-bound scoring and exact simulated ledger amounts are reproducible with
npm run eval:paying-source-study -- --check. It measures this closed fixture only;
live model behavior, semantic correctness, real spending and exploration's causal
effect remain unmeasured.
Historical testnet trace (recorded output; not current mainnet traction):
[decide] BUY Agent Economy Weekly β strong match on x402, autonomous, commerce; worth the $0.004 toll
[decide] SKIP Garden & Soil Monthly β weak match (no key terms); not worth $0.002
[fetch] Paid $0.004 to Agent Economy Weekly β S1
[sufficiency] Read 2 sources covering all sub-claims; stopping early to save budget
[settle] Settled $0.015 β Mara Okoye Β· $0.010 β Devin Park (60/40 author split)
π $0.032 spent β 100% to creators Β· 3 bought / 3 skippedResearch tools and desktop
Windows local Operator alpha: npm run desktop:install then npm run desktop:start.
See the desktop guide for the unpacked app build, offline
saved results, private Markdown briefs, and limits.
Research-paper library: browse 40 observed paper records
from arXiv, OpenReview, PMLR and ACL Anthology, filter by author/year/DOI, or explicitly
search live arXiv/Crossref metadata. /api/papers and npm run papers share the
bibliography-only contract. Links remain unread until a separate research run.
Literature workspace: save exact paper records on this browser, screen against a review question, keep personal notes, export CSV/JSON/RIS and prepare an editable two-paper comparison. No account, cloud sync or automatic ask.
Research Monthly: a bounded plan for four Deep requests over 30 days, 10% below four separate packages with unchanged creator caps. Manual renewal; no scheduling or unlimited use. Failed/pending jobs use a slot. Web/API own the entitlement; Monthly CLI and MCP handoffs share that contract.
Original-customer deliverable choices
source candidate: an ordinary settled prepaid A2A customer can Accept, request a
revision or Reject the exact retained delivery through its report, scoped API,
MCP or npm run deliverable:acceptance -- read <a2a_id>. Submissions use the exact
read-back fingerprint/digest/revision and a retained idempotency key. Reasons stay
private; sharing current choice/timestamp is opt-in and withdrawable. Historical
remedy:none and missing response-window terms remain visible. Revision/refund
execution is withheld; Monthly/private/browser/native originals and synchronized
deployment/distribution acceptance remain separate gates.
For creators
Claim proven demand β keryx.cc/wanted shows claims paid dispatches left under-covered. A new creator can check and list an RSS feed; an existing registry creator can offer the exact indexed article directly and optionally sign a temporary discount. Keryx guarantees that version a candidate slot, not a purchase, then queues one bounded retry after refreshing creator authority. Fulfillment is public only when that source passes the evidence gate and its citation reward really settles. Every claim has a canonical shareable brief and social card, so the specific gap can reach the writer who covers it.
Onboard from your own wallet β paste an RSS feed at keryx.cc/register and publish your source to the on-chain registry. Keryx sets up the x402-priced endpoint and free preview; it never holds your key. On mainnet your wallet supplies native USDC gas; the faucet is available only on testnet.
Own your payout β your registered source pays the wallet you signed in with. The first historically owner-verified testnet creator (conzit.com) proved feed ownership, set its address, was cited & paid end-to-end β and has since claimed its registry record from its own wallet, so its on-chain
creatoris the creator, not Keryx. We've also proposed this as an opt-in convention upstream in RSSHub. Seeded sample sources have Keryx-controlled registry authority; live authority and payout checks are available on/proof.Know the moment you're cited β opt into a plain email alert (no webhook server needed, rate-capped, one-click unsubscribe) and/or signed webhooks that fire the instant a citation settles; every payout on your public earnings page shows the actual question your work helped answer.
Show it off β an embeddable "Cited by Keryx" badge (live SVG at
/api/creator/<id>/badge.svg) displays your real citation count + USDC earned on your own site, with copy-paste Markdown/HTML on each creator page. Payouts become portable, verifiable proof.Cash out yourself β your wallet signs a Gateway burn intent in the browser and submits the reviewed mainnet mint with native USDC gas. Optional gas-relay operation is a separate role; historical testnet cash-outs do not prove a mainnet withdrawal.
Keep everything β 100% of every citation reward goes to creator wallets. 0% platform fee.
Squat-proof identity β sources live in an on-chain SourceRegistry (
0x42a64061b6cd84067bb660b2a9b8aa881fd225bb) with creator-scoped IDs and on-chain multi-author splits.
Public sources and owner claims
Public web discovery finds supported websites, feeds and PDFs for the question at
hand and reads available content for free. /sources shows retained feeds and creator
listings, rather than a bulk index of the internet. A publisher can choose This is
my source or open /claim-source, sign in with its wallet, and prove control using
a dedicated website file or publisher-controlled RSS/Atom channel token.
Verification earns nothing by itself. Connect the exact owner-created registry listing and explicitly choose free reads with no rewards, zero-price reads with qualified citation rewards, or positive-price paid reads. Earning activation requires separate distribution-rights consent and fresh control proof; registry registration is an owner-reviewed network transaction with possible native gas, using no agent funds. Control expires after 24 hours and earning eligibility pauses until explicitly refreshed. Old public reference identities and free receipts remain free, and no activation bills past uses. Zero-price reads require no x402 access authorization or settlement receipt.
The shared reading pipeline applies the same policy and evidence gates across web, API and agent clients. Claim management uses the web and its authenticated API; scholarly-rights enrollment remains separately gated. See the public-source claim guide for proof, listing, policy and recovery steps and deployment capability requirements.
For developers & agents
Free, no-wallet trial β keryx.cc answers without any setup, with a graceful upgrade path when you outgrow the free budget.
Browser extension (
extension/) β highlight text on any page and ask Keryx from a toolbar popup, or right-click to list a page you own as a paid source. A thin, no-key client over the OpenAI-compatible endpoint; load unpacked on any Chromium browser.Remote MCP β connect an MCP client directly to
https://keryx.cc/mcpover Streamable HTTP: no package or local wallet process. Theresearchtool has an anonymous, IP-limited trial; an ask-scopedkx_live_β¦Bearer key raises the cap and attributes usage to its verified wallet. Creator rewards still settle in USDC on Arc. Quick connect:codex mcp add keryx --url "https://keryx.cc/mcp?client=codex"orclaude mcp add --transport http keryx "https://keryx.cc/mcp?client=claude". The interactive setup guide is at/integrations/mcp.Local x402 MCP β the caller-funded package uses its local Arc wallet to pay Keryx's x402 toll before Keryx researches and pays creators. Version 0.3.2 requires existing owner-provisioned custody, a trusted merchant policy and supported Node. Use verified package distribution. October 3 discovery found npm latest 0.4.1 and GitHub v0.26.1 assets from
f9dca8dare the previous immutable release. Application 0.26.2, caller MCP 0.4.2 and desktop 0.4.2 are coordinated claim-grounding candidates; packed acceptance, exact-source installer checks and publication are separate gates. Check verified release assets and npm integrity/provenance for current artifact status; publication does not establish hosted deployment.Discord slash command β install the Keryx app in any server and type
/ask: the reply embed carries the grounded answer, every creator paid, and a link to the dispatch trace. No bot process β signed interactions POST straight to the API (docs/discord-bot-setup.md).Telegram bot β DM @keryxai_bot any question (or
/ask β¦in a group): same full reasoning loop, same real creator payouts, answered in-chat with a dispatch-trace link. Webhook-only, no polling process (docs/telegram-bot-setup.md).Slack slash command β a
/keryx β¦command for any workspace: signed requests POST straight to/api/slack/commands, the same full reasoning loop and real creator payouts answered in-channel with a dispatch-trace link. No bot token or scopes β replies ride the command'sresponse_url. Setup + app manifest in (docs/slack-bot-setup.md).Agent-to-agent API β
POST /api/agent/asklets other agents buy Keryx's research over x402: an agent paying an agent that pays creators, end to end. Versioned Quick/Deep packages pin the execution contract and return provisional-SLO latency plus deterministic evidence-quality receipts; seedocs/a2a-research-packages.md.OpenAI-compatible endpoint β point any OpenAI SDK or tool (LangChain, LlamaIndex, OpenWebUI, LibreChat, Continue) at
https://keryx.cc/api/v1with modelkeryx: a drop-in Chat Completions API. Free with no key, or pass akx_live_β¦key as the Bearer token for higher limits. Every cited creator is still paid downstream in USDC on Arc; withstream:true, the agent's live buy/skip/trust reasoning streams asreasoning_contentdeltas. Try it with no install in the browser playground β it also hands you the exact curl/Python/JS call.Public API with wallet-issued keys β SIWE-authenticated key minting (hashed, show-once, rate-limited) and OpenAPI docs at
/api/docs.Receipt export + local verification β
GET /api/dispatch/<id>/receiptreturns the portable research receipt; download it from any permalink and runnpm run verify:receipt -- ./keryx-receipt-<id>.jsonto recompute its payload digest. See the receipt format and trust boundary.Non-custodial by design β interactive spend uses a session EOA the user funds from their own wallet; the browser co-signs each x402 authorization in-tab. The funded amount is the hard cap. Keryx never holds your key or your funds.
The chain decides who gets paid β before anything signs or settles, every payee is checked against the on-chain SourceRegistry, not against Keryx's database. Editing the database cannot reroute a single citation reward, on any path β browser or A2A.
Transparent treasury β
/api/treasurypublishes the settlement wallet's chain-abstracted Gateway balance (via Circle App Kit), so anyone can audit what backs the payouts.Live activity feed β
/api/activitystreams the most recent real settled citations (source, question, reward) β a proof-of-life surface and a zero-prior-knowledge way for tooling to see what Keryx is citing right now; it also drives the live ticker on the landing.Answer archive as an Atom feed β subscribe to
/answers/feed.xmland see every new paid answer as it settles. Keryx onboards creators by reading their RSS feeds; this is the same door pointed the other way β Keryx itself becomes a source any reader or agent can follow.
The money rails
Live settled totals require Circle settlement evidence. Offline development runs are
labeled SIMULATED.
x402 pay-per-request (
@circle-fin/x402-batching) β a two-toll design: a small fixed access toll to read, plus a dynamic citation reward priced by contribution weight. Fetched but uncited earns the toll; cited earns proportionally more only after its evidence passes the deterministic grounding gate.Circle Gateway nanopayments β batched sub-cent settlement (floor $0.000001). Historical testnet average payment: ~$0.0044 β a true nanopayment, uneconomical on any card rail.
Treasury observation β mainnet reads the sealed public role's Circle Gateway balance; historical testnet used Circle App Kit (Unified Balance Kit). Current observation is published on
/statusand/api/treasury.SourceRegistry contract on Arc β source identity, IPFS CIDs, multi-author splits; on-chain events drive the off-chain indexer.
Encrypted content on IPFS β AES-256-GCM ciphertext pinned publicly; plaintext is released only after x402 settlement verifies. Free previews stay plaintext.
USDC-native chain β Arc settles in <500ms with USDC as gas, which is what makes per-citation economics physically possible.
Architecture
The Circle and Arc integration ledger maps each integration to code, network, status and public proof. It also records the gasless user-action evaluation and the sponsored testnet proof still required by #304.
Production uses Arc mainnet (eip155:5042), observed October 4, 2026 through
/api/health. Full constants, release identities and
the separation from historical testnet evidence are in mainnet status.
Role | Full public address | Explorer |
SourceRegistry |
| |
Gateway Wallet |
| |
Gateway Minter |
|
Creator and user session addresses vary by workflow. The submission pack also records public USDC and Gateway contract references and the evidence required for actual payments.
BROWSER (Web App) IPFS + Arc Smart Contracts Circle Gateway + Arc Mainnet
βββββββββββββββββ βββββββββββββββββββββββββ ββββββββββββββββββββββββββββββ
ββββββββββββββββββββ [SourceRegistry]
β /ask page β (SIWE on Arc 0x42a640... USDC on Arc
β + wallet connect β auth) β’ sources[] (ERC-20, 6 decimals)
β β β’ emit Registry events
ββββββββββ¬ββββββββββ β’ indexed by off-chain DB
β session-grant
β (user funds session EOA) [IPFS Content]
β MetaMask tx β session β’ AES-256-GCM encrypted [Circle Gateway]
β deposits in Gateway β’ plaintext released only post-settle β’ batch settlement
β β’ x402 EIP-712 verify
β [Keryx API]
β co-sign loop (fetch+POST): β’ auth: SIWE JWT (browser + API key) [Arc RPC]
/api/ask (SSE) βββββββββββββββββββΆ /api/session/* (grant, credit) selected Arc mainnet RPC
browser streams /api/ask (agent asks, gets
sign-requests /api/ask/sign sign-requests back)
βββββββββββββββββββββββββββββββββ /api/source/[id]/item/[itemId]?version=β¦
client-side session key /api/offers (signed article price book)
/api/cite (citation reward)
signs EIP-712 /api/keys (API key mint/verify)
auto-signs (NO prompt) /api/agent/ask (A2A, x402-priced)
/api/treasury (App Kit unified balance)
/api/docs (OpenAPI)
Agent brain (lib/agent/run-agent.ts):
decomposeβdiscoverβdecideβfetchβsufficiencyβsynthesizeβattributeβsettleRun it
For project development, the OSS AI adoption record
documents checked upstream patterns and their Keryx acceptance gates. Use
$keryx-oss-adoption for future
OSS learning and adaptation tasks in supporting development agents.
One command β the full cycle (~90s). Decide β pay the x402 toll β read β synthesize β settle weighted citation rewards, then report payments on the explicitly configured network. The checked-in environment example is for isolated testnet development; mainnet operations require the reviewed configuration and a finite authorized budget:
npm run demo -- "How do x402 and stablecoins enable AI agent commerce?" --budget 0.05With ANTHROPIC_API_KEY + AGENT_FUNDER_PRIVATE_KEY + NEXT_PUBLIC_KERYX_REGISTRY_ADDRESS it
settles for real and prints on-chain proof; without them the same flow runs offline, clearly
labeled SIMULATED β a mock is never presented as settled.
# 1. Install (Node 22 LTS v22.19.0+ or Node 24+; CI and production use Node 24)
npm install --global npm@11.19.0
npm install
# 2. Configure (optional β runs offline with zero keys)
cp .env.example .env.local
# 3. Demo sources (offline development needs no wallet keys)
npm run seed-sources
# 4a. One question, full reasoning trace in the terminal
npm run ask -- "How do x402 and stablecoins enable autonomous AI agent commerce?" --budget 0.05
# 4b. Or the full web app (SIWE auth, session grants, browser co-sign)
npm run dev # http://localhost:3939
# 5. Live metrics
npm run metricsThe legacy generate-wallets command is retired because it printed private keys
and replaced existing environment custody. For real operations, provision
secrets privately under the current role-specific labels and preserve existing
wallets and backups. Follow treasury custody or
caller-owned buyer setup; starting a demo does not create or
recover a wallet.
Mode | Reasoning | Payments | When |
Offline dev | heuristic, no LLM key | simulated, labeled | laptop, zero setup |
Server treasury | Claude / DeepSeek | real Arc mainnet, dedicated sealed-policy custody | admitted hosted research and paid A2A |
User interactive | Claude / DeepSeek | real Arc mainnet, user-funded session signer | production web app |
Isolated integration tests | configured provider or fixtures | Arc testnet, separate keys/state | payment drills and development |
Built to stay up
Keryx runs as a real service, not a demo that dies after the video:
Public
/status+/api/healthβ uptime, deployed commit, settlement mode, live traction, treasury balance.Low-downtime deploys β new builds compile beside the live one, swap atomically, health-gate, and auto-roll-back if the new build doesn't come up (
npm run redeploy).Treasury watchdog β hourly cron checks settlement-wallet USDC + gas against thresholds and alerts before settlements can stall; failed settlements alert immediately.
Rotating off-box backups of the traction datastore, hourly.
CI β typecheck + the economic-invariant suite on every push.
Security
The interactive path is non-custodial. Its key security boundaries are:
Circle facilitator β x402 settlement batches through Circle's facilitator (no on-chain alternative in the current Arc payment path).
Server holds the IPFS decryption key β content is encrypted at rest, but key release is server-side (Lit Protocol planned once Arc is supported).
Session key lives in a Web Worker β derived there, never returned; the tab holds only AES-GCM ciphertext under a non-extractable key. The worker signs payment authorizations to registry-authorised payees only, and transactions only to USDC/Gateway β so page-level XSS can neither steal the key nor name itself as payee. Residual: the derivation signature is produced on the main thread, a one-call window at setup.
Treasury gas wallet β holds gas only, rotated; a compromise cannot touch creator funds.
Full threat matrix and verification results: docs/security-threat-model.md.
Fork the primitives
The MIT-licensed standalone Arc primitives
now have a reviewed 0.3 safety and packaging refresh, also pinned at
arc-primitives/ (clone with --recurse-submodules).
Exact micro-USDC parsing and weighted allocation, plus fixed/dynamic x402 settlement with durable host admission and retained ambiguous outcomes.
Creator-bound registry helpers and ordered, deduplicable indexing; the original registry contract remains separate from current upstream v2 work.
Atomic integer budget reservations as an explicitly in-memory reference, and browser-signed, treasury-relayed withdrawal with finite authorization height, exact attestation binding and journaled mint transaction identity.
Additive discovery metadata, pinned Circle SDK/x402 dependencies, generated ESM/types, a no-network demo and a clean packed-consumer check.
The 81 tests and offline demo are synthetic; funded acceptance, durable storage, browser custody, reconciliation and mainnet review remain host-owned gates. This library release does not change Keryx's payment runtime, MCP package or desktop installer. See the standalone migration guide and maintenance and surface boundaries.
Project docs
docs/engineering/source-catalog-2026-10-06.mdβ expanded source library, publisher links, feed audit and discovery filtersCONTRIBUTING.mdβ branch, pull request, validation and payment-safety workflowdocs/rust-engine-migration.mdβ staged shared Rust engine and acceptance gatesdocs/openai-compatible-api.mdβ drop-in recipes for OpenAI SDK, LangChain, LlamaIndex, Open WebUI, LibreChat, Continuedocs/system-architecture.mdβ data/money flow + on-chain componentsdocs/security-threat-model.mdβ threat matrix, audits, residualsdocs/engineering/source-money-adversarial-2026-10-09.mdβ eight malicious-source classes, paid delivery checks and remaining live proof gatesdocs/codebase-summary.mdβ module mapdocs/mainnet-delivery-plan.mdβ current product and release gatesdocs/project-roadmap.mdβ near-term prioritiesTRACTION.mdβ live usage and settlement linksFEEDBACK.mdβ Circle/Arc dev-tool feedback we filed while buildingDECISIONS.mdβ architecture decision log
Origin & where it's going
Keryx started at the Lepton Agents Hackathon (Canteen Γ Circle, on Arc, June 2026) as the canonical build of the "herald" model β content cited, paid per citation β and never stopped running. The service at keryx.cc runs caller-driven research with Arc mainnet payment authority; it has no hourly research or payout guarantee. Current work adds broad-web and scholarly evidence, chat-first cited reports, local Windows/CLI task recovery, and a bounded Research Monthly pilot. The full Operator and autonomous scheduler remain planned. Production mainnet is live; independent usefulness, audit, adoption and profitability retain their explicit acceptance gates. See the Tameion submission evidence for dated releases, public contract/wallet addresses, product delta and pending pilot proof.
Stack
Next.js 16 Β· React 19 Β· Tailwind 4 Β· shadcn/ui Β· viem/wagmi Β· @circle-fin/x402-batching Β·
@circle-fin/unified-balance-kit Β· @x402/fetch Β· Node node:sqlite / Supabase Β·
Anthropic / DeepSeek. Built on the verified
circlefin/arc-nanopayments x402/Gateway plumbing.
This server cannot be deployed
Maintenance
Related MCP Connectors
Compact, citation-verifiable public web context for AI agents, paid per use with x402.
Market data and web intelligence for AI agents, paid per call in USDC on Base via x402.
x402-paid analytics, market intelligence, research, and LLM inference for AI agents.
Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to access paid content by integrating cryptocurrency payments through the x402 protocol, allowing LLMs to verify payments and retrieve paid resources automatically.1-
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to make micropayments using USDC on Solana via the x402 protocol, supporting payment requests, on-chain verification, and revenue tracking.MIT
- AlicenseNot gradedqualityCmaintenanceTurns AI agents into autonomous economic actors by providing tools to discover, evaluate, acquire, and serve tokenized content on the $402 network.1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query the largest CC0 database for provenance, license verification, and market data, and generate CC0 images, all via pay-per-call x402 micropayments.-