
Xpay
io.github.xona-labsPublished by GitHub account xona-labsv0.2.38Updated Nov 2, 2026
Xona Wallet: agent wallet for AI agents. x402 payments, AgenC hires, 20k+ services
Overview
Xona Wallet gives an AI agent its own multi-network USDC wallet to discover, pay for and hire x402 and AgenC services, plus swap, transfer and report on funds.
- What you can do
- Discover and pay for services: search a 21k+ x402 catalog and AgenC listings, call paid endpoints, check merchant trust
- Wallet and funds: show balances across networks, transfer USDC/USDT0, swap Solana tokens via Jupiter, trade on Robinhood Chain
- Spending controls: inspect and set per-transaction and per-day caps, allowed hosts, and an optional intent firewall
- Trading extras: find Solana tokens and RWA tokens, list trending tokens, create and run standing stock orders
- Paid partner lookups: X account data, repository security scans, and shopping search across marketplaces
- Reporting: daily, weekly or monthly USDC activity reports; optional Sana card tools once a Sana key is linked
- When to use it
- Use it when an agent should autonomously buy or call paid APIs and agent services, or hold and move small amounts of USDC and SOL, without you writing payment plumbing. It suits agentic-commerce experiments and small-budget automation rather than custody of significant funds.
- Requirements
- Runs locally over stdio, typically via npx with the mcp subcommand; Node.js needed. A wallet is auto-generated on first run and stored under ~/.xpay, or you supply XPAY_SOLANA_SECRET, XPAY_EVM_KEY and XPAY_PASSPHRASE. Funding with USDC (and SOL for AgenC hires) is required to pay. Optional keys: SANABOT_API_KEY, JUPITER_API_KEY. Network access to payment and catalog endpoints.
Installation
In SourceWeft
- Open Xpay in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Xona Wallet
Ships as the npm package
@xona-labs/xpay, thexpayCLI, and thexpay_*MCP tools. The package and command names are unchanged.
[npm] [downloads] [license] [MCP Registry] [node]
Agentic-commerce wallet. Multi-network USDC wallet, x402 payments, AgenC marketplace hires, and discovery across 20,000+ services - as a CLI, an SDK, and an MCP server.
Xona Wallet is the wallet and rail layer for agentic commerce. It hides x402, USDC, RPC, and multi-network routing behind a flat surface so agent builders (Claude / Codex / OpenAI / Gemini / your own) can find and pay for services without writing payment plumbing.
Install
Quickstart
Fund the addresses with a few dollars of USDC on Solana mainnet, Base, or both. Then:
CLI commands
All commands run from a single profile. Switch with xpay accounts use <name>.
SDK
The CLI is a thin shell over the SDK - every command has a direct programmatic equivalent.
Agent runtimes
Xona Wallet ships tool definitions for the three major LLM SDKs. Same handlers, different schema shapes.
forOpenAI(xpay) and forGemini(xpay) return the same handlers wrapped in vendor-specific schemas. See examples/claude-agent.ts for the full tool-use loop.
MCP server (Claude Desktop / Cursor / Codex)
Xona Wallet is listed in the official MCP Registry
as io.github.xona-labs/xpay - registry-aware hosts can discover and
install it by that name. For everything else, drop Xona Wallet into the host's
config - no code, no keys, no xpay init. On first boot the agent is
given its own wallet automatically:
That's the whole setup. The generated wallet's Solana address is printed to
stderr on first run - fund it with USDC and the agent can pay. It persists
under ~/.xpay and is reused on every later boot, so the address is stable.
The host sees the core tools: xpay_discover, xpay_use, xpay_do, xpay_transfer, xpay_balance, xpay_report, xpay_guardrail, xpay_token_find, xpay_swap, xpay_trending_tokens, xpay_trade_quote, xpay_trade, xpay_x_user, xpay_x_posts, xpay_zauth_reposcan, xpay_zauth_scan_status, xpay_shop_search, xpay_shop_quote, xpay_shop_lens, xpay_shop_lens_quote, xpay_rwa_find, xpay_trust_check, xpay_order_create, xpay_orders_list, xpay_order_cancel, xpay_orders_run, xpay_agenc_status, plus xpay_bento_status / xpay_bento_enable / xpay_bento_disable to manage the intent firewall. If you've linked a Sana key (see below), eight additional sana_* tools are also registered automatically.
Bring your own wallet instead - the wallet source order is existing profile → key env → auto-generate, so any of these overrides the generated wallet:
On macOS, with biometric unlock enabled on a profile, the server shows one Touch ID dialog at startup instead of keeping the passphrase in host config.
See SKILL.md for a framework-agnostic guide to driving these tools from any agent.
Profiles
Each profile is a directory under ~/.xpay/ with:
Override with XPAY_HOME=/some/path or xpay init --workspace for project-local profiles.
Biometric unlock (macOS)
Skip typing the passphrase on every command - unlock with Touch ID instead:
How it works: the wallet's scrypt + AES-256-GCM encryption is unchanged. enable places the
passphrase in your login keychain, and a small native helper (compiled on first use to
~/.xpay/bin/, requires the Xcode Command Line Tools) releases it only after a
LocalAuthentication check. Biometrics never replace the passphrase - they gate access to it.
The unlock order for every command is: --passphrase flag → $XPAY_PASSPHRASE → Touch ID →
interactive prompt. Your passphrase keeps working everywhere and remains the only recovery
path - if Touch ID is unavailable (or the stored copy goes stale after a re-encrypt), the CLI
falls back to asking for it.
macOS asks once to allow keychain access for the helper - choose "Always Allow". It will ask again after package upgrades, since the helper is recompiled.
Guardrail
The guardrail runs before any signer is touched, so a misbehaving agent (or compromised LLM) cannot bypass it.
maxPerTx/maxPerDay: apply to every paid call and direct transfers.allowedHosts: apply only to x402 calls (transfers go to addresses, not hosts).maxPerTx/maxPerDay: apply to every paid call and direct transfers.allowedHosts: apply only to x402 calls (transfers go to addresses, not hosts).requireApprovalAbove: calls ≥ threshold need explicit approval. In the CLI this is a Touch ID prompt when biometric unlock is enabled, otherwise a y/n confirm; in the MCP server it is Touch ID only (no terminal), so an agent's large payment surfaces as a system dialog you physically approve. In the SDK, wire theonApprovalRequiredhook to whatever you like - push notification, biometric, webhook.
Security - Bento intent firewall (optional)
Spend caps stop an agent spending too much - they can't tell a legitimate payment from a prompt-injected one. The optional Bento layer adds an AI intent firewall: every paid call and transfer is screened for malicious intent (prompt-injection, wallet-drain, intent-vs-execution mismatch) before signing. It runs inside the guardrail, right after the local caps pass.
There's no API key - Bento authenticates with the wallet's own key. The one manual step is a
one-time, on-chain registration of the agent wallet at
app.bentoguard.xyz (log in with your owner wallet; until the agent
wallet is registered, payments are rejected with Agent not found).
Each screened call returns a verdict:
ALLOW: cleared; Xona Wallet signs as normal.BLOCKED: flagged as a critical threat; Xona Wallet throws before signing, no funds move.ESCALATED: ambiguous; Xona Wallet defers to youronApprovalRequiredhook, or fails closed.
Agents can manage it over MCP too: xpay_bento_status, xpay_bento_enable, xpay_bento_disable
(disable is the escape hatch when the wallet isn't registered yet).
Sana agent wallet card (optional)
Xona Wallet supports an optional integration with Sana - an agent-native card that lets your AI spend at the point of sale, anywhere Visa is accepted.
Activating it adds a second wallet surface to Xona Wallet: your on-chain USDC (xpay) for agentic x402 payments, and a Sana card (fiat) for everything else. The two compose naturally - an agent can top up the card from the Xona Wallet wallet when the balance runs low.
Activate
- Sign up at sana.bot and generate an API key at
sana.bot/gateway/app/api-keys(scope:read:allcovers everything read-only; addwrite:cardfor deposits and swaps). - Link it to your Xona Wallet profile:
- Restart your MCP client - eight
sana_*tools appear automatically alongside the standardxpay_*tools.
Tools registered
SDK usage
Pass the API key to forClaude / forOpenAI / forGemini to include Sana tools in your agent loop:
Or set SANABOT_API_KEY in the environment - the MCP server picks it up without any code change.
Unlink
The sana_* tools disappear from the MCP server on next restart.
AgenC marketplace - hire on-chain agents
AgenC is a Solana-mainnet marketplace where registered agents sell services with on-chain escrow. Its hireable listings appear in xpay discover alongside x402 services - but they execute differently, and xpay routes them automatically:
The same smart routing works in the SDK and MCP - xpay.use(resource) / xpay_use detect the agenc-hire payment scheme and run the escrow flow, returning a receipt (task, txSig, explorer link) as data. Hires are made through AgenC's humanless entry point, which pins the task to CreatorReview - escrowed funds never auto-release without your acceptance.
Notes:
- Discovery reads AgenC's hosted indexer via their official SDK client, the integration path AgenC documents, and hires locate the on-chain moderation attestation across seed-scheme generations, so xpay keeps working across AgenC's frequent program upgrades. Listings not yet re-attested after an upgrade fail closed with a clear message before any payment.
- The guardrail applies to hires too: SOL prices are converted to USD at spot (multi-feed, cached) and checked against
maxPerTx/maxPerDaybefore signing. If no price feed is reachable and caps are set, the hire fails closed. - The wallet needs SOL (escrow + fees), not just USDC.
- Reviewing/accepting results happens on agenc.ag for now;
xpay agenc acceptis planned. - Config (optional):
agenc: { rpcUrl, reviewWindowSecs, endpoint }in the profile, orXPAY_AGENC_ENDPOINT. Opt out of the discovery source withXPAY_DISCOVERY_SOURCES=orbitx402.
Token discovery & swap (Solana)
Find any Solana token by ticker or mint address and swap into it from your own wallet - keyless, via Jupiter's meta-aggregator:
Notes:
- Verification matters. Anyone can mint a token reusing a real ticker. Bare tickers only resolve to Jupiter-verified tokens; ambiguous tickers error with a candidate list, and unverified tokens must be named by their exact mint.
xpay token findshows the flag. - The guardrail applies. The input side is priced in USD (Jupiter's own estimate) and enforced against
maxPerTx/maxPerDaybefore signing - fails closed if the token can't be priced while caps are set. Swaps stay inside your wallet (no external recipient), soallowedHostsdoesn't apply. - Slippage defaults to Jupiter's dynamic slippage; override per call (
--slippage-bps) or per profile (swap.slippageBps). - Keyless by default (~20 req/s shared bucket). Set
JUPITER_API_KEY(or profileswap.apiKey) for higher limits;XPAY_JUPITER_ENDPOINToverrides the API base. - This is the native swap in your own xpay wallet. The separate
xpay sana swapswaps inside a Sana-hosted wallet and needs a Sana API key.
Merchant trust (ERC-8004 on Solana)
Before paying an unfamiliar service, check who is on the other end. Solana merchant wallets (the x402 payTo) are looked up in the 8004-solana registry, the Solana implementation of ERC-8004 Trustless Agents: an agent identity (Metaplex Core asset) plus on-chain client feedback, and optional ATOM scoring (trust tier, quality, confidence, risk). Free, read-only, no wallet:
Notes:
- The wallet matches either the agent's operational
agent_walletor itsowner. When several identities share a wallet, the strongest (ATOM tier, then review count, then score) is returned, withagentCount. avgScoreis the average client feedback (0-100). ATOMqualityis confidence-weighted, so it stays low until an agent accumulates feedback; don't read one as the other.- Most merchants are not registered yet, so "no identity" is the normal case, not a warning.
--min-trust/minTrustover-fetches (50 candidates) and can still come back empty. - Lookups go through the registry's public indexer (
8004-indexer-main.qnt.sh, keyless, 100 req/min per IP), one per unique wallet, cached 10 minutes including negatives.XPAY_8004_INDEXERoverrides it;--no-trust/trust: falseskips it. A failed lookup never fails discovery. - Solana only for now. EVM ERC-8004 registries have no wallet-to-agent reverse lookup on-chain.
- SAID Protocol is checked for the same wallet and reported next to ERC-8004 as
trust.said(null= no SAID identity):verified,tier,badgesand a 0-100score. That score is SAID's composite of identity, activity and longevity signals, not client feedback, so an agent can score high with zero reviews; it is never merged with the 8004avgScore, and--min-truststill filters on the 8004 score only.XPAY_SAID_APIoverrides the API base; a failed SAID lookup just leavessaidunset. - MCP:
xpay_trust_check(free), andxpay_discoverresults carrytrustplus an optionalminTrustfilter.
RWA discovery (Solana)
List tradable real-world-asset tokens: RWA covers any tokenized off-chain asset, and what actually trades on Solana DEXes today is tokenized stocks/ETFs (Backed xStocks like TSLAx/SPYx, Ondo Global Markets like TSLAon/GLDon, Remora, Backpack Securities) plus the treasury-backed yieldcoin USDY. Free, read-only, no wallet:
Notes:
- Discovery sweeps Jupiter's search API and filters by Jupiter's own
rwa/stocks/xstockstoken tags (the tag endpoint itself doesn't accept these), so the list is Jupiter-verified and priced live. Results cache in-process for 5 minutes. - Tokenized stocks track the underlying price but are issuer IOUs (tracker certificates), not brokerage shares: no voting rights, issuer risk applies.
- Permissioned funds on Solana (BlackRock BUIDL, Ondo OUSG) are excluded: they are KYC-gated, unverified on Jupiter, and have no DEX liquidity, so they can't be swapped into anyway.
- MCP:
xpay_rwa_find(free). Everything returned is swappable from USDC viaxpay_swap/xpay swap.
Standing stock orders
Recurring buys and conditional one-shots on tokenized stocks (xStocks and other Solana issuers), stored in the wallet profile so any agent framework can create them and any scheduler can run them:
How a run decides, per due order: expiry and caps, then market hours (if --market-hours), then the same checks as a direct stock trade (verified token, liquidity floor, adverse premium/discount vs the real share price, default 2%), then the profile's maxPerDay. Orders that don't qualify report why and wait for the next run; recurring orders keep their cadence and skip missed periods rather than catching up.
Safety model, since runs are usually unattended:
- Every order is finite. Recurring orders need
--budgetand/or--max-fills; one-shots expire after 7 days by default. - Agents can't activate orders.
xpay_order_createsaves an order aspending_approval; onlyxpay orders approve <id>(a human at the terminal) activates it. Agents can list, cancel and run, but a run only ever executes approved orders. - Daily cap across runs.
maxPerDayis enforced from the persisted fill log, so separate cron invocations can't each spend a fresh daily allowance. - Never double-buys. A fill that was submitted but not confirmed parks the order in
needs_review; check the wallet, thenxpay orders resume <id>(add--filledif it landed). A guardrail denial (per-tx cap, approval threshold) parks it inblocked. Only one run executes at a time. - The token is pinned at creation (SPY → SPYx mint), so a later run can't resolve to a different issuer.
Unattended runs need the wallet unlocked: set XPAY_PASSPHRASE in the scheduler's environment (Touch ID can't prompt at 3am). Buys above requireApprovalAbove are denied without a TTY and block the order. MCP: xpay_order_create, xpay_orders_list, xpay_order_cancel, xpay_orders_run.
Robinhood Chain trading
Trade the NOXA Fun memecoin scene on Robinhood Chain (Robinhood's Arbitrum L2, chain 4663) straight from your own wallet - no API key. NOXA Fun tokens launch into Uniswap V3 pools quoted in native ETH, so trading is plain on-chain V3: quote via QuoterV2, execute via SwapRouter02. Discovery (trending / new tokens, USD pricing) comes from GeckoTerminal's public API.
Notes:
- Scope: ETH ⇄ token only (buy with native ETH, sell back to ETH). Buys auto-wrap ETH; sells unwrap WETH → ETH in one transaction.
- The guardrail applies. The input side is priced in USD (GeckoTerminal spot) and enforced against
maxPerTx/maxPerDaybefore signing - same boundary asxpay swap. - Verification. A token confirmed as a NOXA Fun launch is marked verified; anything else is flagged
unverified(memecoin tickers aren't unique - prefer passing the exact contract address). NOXA per-tx / max-wallet transfer caps are checked before signing: a buy that would breach one errors up front (instead of reverting on-chain), and the quote flags trades that come close. - Gas: unlike x402 payments, trades are broadcast from your wallet, so it needs a little ETH on Robinhood Chain for gas. Bridge via Across or the Uniswap bridge. RPC override: profile
rpcs.robinhood. - Slippage defaults to 100 bps (1%); override per call (
--slippage-bps) or per profile (trading.slippageBps). - Balances:
xpay balancelists your Robinhood Chain ETH plus every ERC-20 you hold (via the chain's Blockscout explorer), so tokens bought here show up automatically. Override the explorer withXPAY_ROBINHOOD_EXPLORER. - This is distinct from
xpay swap(Solana / Jupiter). GMGN was evaluated and skipped - it doesn't support Robinhood Chain.
Realtime X (Twitter) data
Agents can pull live X account data with zero setup - no X developer account, no API key. xpay pays xona's x402-gated proxy per call, which passes X's pay-per-use billing through at cost (no markup):
MCP: xpay_x_user / xpay_x_posts - the classic flow is token due diligence: xpay_token_find → check the project's X account → swap only if it holds up. Payments go through the normal x402 flow, so the guardrail caps apply. Endpoint override: XPAY_XDATA_ENDPOINT.
zauth repo security scans
Scan any git repository for code provenance and vulnerabilities via zauth's x402-paywalled scanner (partner integration) - returns a zauth score (0–100) plus a markdown analysis. Only the scan kickoff is paid (~$0.05 USDC on Solana or Base) and the guardrail caps apply (if your profile restricts allowedHosts, add api.zauth.inc). Status checks are free and need no wallet:
A scan either returns a cached report immediately or { status: "scanning", scanId, sessionToken }; xpay polls the free status endpoint automatically and hands you the sessionToken if the scan outlives the wait window. Follow up with the sessionToken (the JWT, valid ~1 hour) - not the scanId.
MCP: xpay_zauth_reposcan (paid, polls up to ~90s) / xpay_zauth_scan_status (free follow-up). Endpoint override: XPAY_ZAUTH_ENDPOINT.
xona shop product discovery
Search products across Google Shopping, Amazon, and eBay from a single free-text query via xona's x402-paywalled /shop/search endpoint (partner integration). The query parser picks up price ranges, condition, and sort straight from natural language; results come back normalized, deduped, and ranked in one schema. Price scales with the marketplaces searched: ~$0.02 USDC for all three, less for a subset (floor $0.005). Paid through the normal x402 flow, so guardrail caps apply (if your profile restricts allowedHosts, api.xona-agent.com must be on the list):
shop search runs the free quote automatically before asking for confirmation, and refuses to pay when the parser says the query is not a product search (a paid search for such a query charges but returns zero results).
MCP: xpay_shop_search (paid) / xpay_shop_quote (free preflight: agents should quote first when a query is ambiguous). MCP results are compacted for context (image/position/scoring fields dropped); xpay shop search --json keeps the full payload. Endpoint override: XPAY_SHOP_ENDPOINT.
Shop lens: image-based discovery
The same partner also answers "what is this, and where do I buy it" from a photo. Give /shop/lens an image and Google Lens identifies the product and the retailers selling it, normalized into the same schema as /shop/search. Two modes: identify (default, $0.02 USDC) returns the visual matches plus a derived product name; $0.04 for all three marketplaces) additionally runs that name through Google Shopping, Amazon, and eBay for a price comparison.shop (
The lens engine itself only accepts a publicly reachable http(s) URL (SerpAPI fetches the image; data URIs are rejected), so the MCP tool takes the image as exactly one of three inputs: image_url (used as-is), image_path (local file), or image_base64 (raw or data URI). Local files and base64 are first uploaded, free, to xona's public image host (JPEG/PNG/GIF/WebP, type sniffed from magic bytes, 25MB cap) and the hosted URL is echoed back as hosted_image_url for reuse. This is what makes images from chat clients that upload attachments (Hermes and friends) work: bytes in, public URL bridged automatically.
MCP: xpay_shop_lens (paid) / xpay_shop_lens_quote (free preflight: validates an image URL is publicly reachable and reports the exact price, no wallet). Agents should quote first when passing image_url, since the paid door charges even when the URL turns out to be unusable; uploads need no preflight because the hosted URL is always reachable. If the response flags the image as not a product photo, a mode=shop retry will not help.
Multi-network
init configures Solana and Base by default. Add or change via ~/.xpay/<name>/config.json:
Public RPCs work for development but rate-limit hard. Production deployments should configure dedicated RPC endpoints.
Stable chain
Stable (chain 988, Tether/Bitfinex's payments L1) is supported as a first-class wallet network. It settles USDT0 (the LayerZero OFT at 0x779Ded0c9e1022225f8E0630b35a9b54bE713736, 6 decimals as an ERC-20), not USDC.
The same derived EVM key covers it, so a Stable signer is registered on every profile whether or not stable is in networks. You get it without re-running xpay init:
Notes:
- Payments are gasless. x402 calls on Stable sign an EIP-3009
transferWithAuthorizationand the facilitator broadcasts, so the wallet needs USDT0 only - no native gas. Directxpay transferis broadcast from your wallet, so that path needs a little native USDT for gas. - The EIP-712 domain is
USDT0/1, not the USDC default. xpay never hardcodes it: the domain is read fromextraon the live 402 challenge, which is the only reliable source (version()andeip712Domain()both revert on this contract). - Two tokens share a name. The native gas coin is USDT at 18 decimals; the ERC-20 that x402 settles is USDT0 at 6.
xpay balancelists them separately. - Routing is automatic. A 402 quoting
eip155:988resolves to the Stable signer, anduse()compares USDT0 balance against the price when several chains are offered. - RPC override: profile
rpcs.stable(defaulthttps://rpc.stable.xyz). Explorer: stablescan.xyz.
How it works
- Keys: One BIP-39 mnemonic per profile derives Solana (
m/44'/501'/0'/0', Phantom-compatible) and EVM (m/44'/60'/0'/0/0, MetaMask-compatible) keypairs. Encrypted at rest with scrypt + AES-256-GCM. - Discovery: the catalog spans 21k+ x402 endpoints across multiple chains (Solana, Base, BNB Chain, and other EVM networks) plus AgenC marketplace listings, merged from independent sources (
Promise.allSettled, so one source failing never kills discovery). The fetcher walks each API's pagination, validates every entry against a Zod schema, and persists to~/.xpay/cache/so repeat lookups skip the cold-fetch tax. (Filter with--network/discover({ networks }); pick sources withdiscover({ sources })orXPAY_DISCOVERY_SOURCES.) - Pay:
use()anduseByUrl()both go: guardrail check → signer.pay(USDC) on the right network →X-Paymentheader → retry. The signer abstraction means the same code path works for Solana SPL transfers and EVM ERC-20 transfers. AgenC resources are detected by theiragenc-hirepayment scheme and routed to the on-chain escrow flow instead - sameuse()call, different rail. - Report: Comprehensive USDC activity (daily / weekly / monthly) fetched from the OrbitX402 API. On-chain data is resolved server-side - no RPC calls from xpay, no rate-limiting, no RPC key required.
Project status
v0.2.14 (current):
- ✅ CLI: init, accounts, balance, discover, pay, agenc, token, swap, x, zauth, shop, transfer, report, guardrail, mcp
- ✅ SDK: full parity with CLI; tool exporters for Claude / OpenAI / Gemini
- ✅ MCP server on stdio with 23 tools (incl. the Bento intent firewall)
- ✅ Solana token discovery + native Jupiter swaps (
xpay token find,xpay swap) - ✅ Realtime X (Twitter) data at cost via x402 (
xpay x user|posts) - ✅ zauth repo security scans via x402 (
xpay zauth reposcan) - ✅ xona shop product discovery via x402 (
xpay shop search), free quote preflight - ✅ Standing stock orders (
xpay orders): recurring buys + conditional one-shots, human-approved, idempotent runs - ✅ ERC-8004 merchant trust on Solana (
xpay trust, trust lines inxpay discover) - ✅ RWA discovery on Solana (
xpay token rwa): tokenized stocks/ETFs + USDY, swappable viaxpay swap - ✅ Solana + Base mainnet with disk caching
- ✅ Optional Sana agent card integration (
xpay sana link) - 8 additionalsana_*tools - ✅ AgenC marketplace as a discovery source + smart-routed SOL escrow hires (
xpay agenc hire|status)
Planned:
bridge, USDC EVM ↔ SVM via CCTP (Circle's native burn/mint)link / unlink, opt-in cloud sync (audit log, dashboard)- Pay catalog + xona-labs catalog as additional discovery sources
xpay agenc accept|rate- review AgenC hire results without leaving the CLI
License
MIT - see LICENSE.
Source: README.md at commit 55374a4
Tools
0Version history
4- v0.2.38LatestOct 5, 2026
- v0.2.36Sep 28, 2026
- v0.2.34Sep 21, 2026
- v0.2.30Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts