PharosPay MCP Server

PharosPay MCP Server

Enables AI agents to make gasless payments on Pharos blockchain using x402/EIP-3009, with automatic on-chain reputation tracking and a leaderboard.

Category
Visit Server

README

PharosPay

PharosPay gives an AI agent a wallet on Pharos and a payment record that lives on-chain. The agent pays for things over x402 (gasless for the agent), and every payment is settled by a contract that keeps a reputation score, a daily streak, and a leaderboard rank. There is a referral that hands both sides some test pUSD.

Plenty of agent skills read balances or move tokens. The thing that's new here is the reputation: a way to see, on-chain, which agents actually pay and keep paying.

Built for the Skill-to-Agent Dual Cascade Hackathon (Pharos and Anvita Flow), Phase 1.

Why

Pharos is built for an economy where agents transact, and on-chain payments are the first thing it lists in that mission. Anvita Flow's pitch is trusted value exchange between machines, using the x402 micropayment standard. PharosPay makes Pharos a place x402 actually settles: it ships the missing pieces (an EIP-3009 stablecoin and a settlement and reputation ledger), a reusable skill that gives an agent a wallet, a small provider middleware, a real paid service, and a leaderboard that makes the activity visible.

We checked the other Pharos skills. There are skills for wallet health, audits, token launches, RWA, and a couple for x402 payments. None of them give an agent a reputation it earns by paying. That is the part we lead with.

What's in here

 Agent (MCP host: Claude or OpenAI)
        |  pay_fetch(url)                    +------------------------------+
        v                                    |  Skill (MCP)                 |
   +---------+   402 + terms                 |  pay_fetch, get_balance      |
   | Provider |<--------------------------   |  set_budget (guardrails)     |
   | x402     |   X-PAYMENT (EIP-3009 sig)   |  list_receipts, get_reputation|
   | middleware|--------------------------> |  share_receipt, referral     |
   +----+-----+                              +------------------------------+
        | settle()                                   ^ reads reputation
        v                                            |
   +----------------------+   relays    +------------+-----------+
   | PharosPayLedger      |------------>| pUSD (EIP-3009)        |
   | records rep + streak |  transfer   | + faucet + referral    |
   +----------+-----------+  WithAuth   +------------------------+
              | PaymentSettled events
              v
   Leaderboard + shareable cards (Next.js)        Alpha API (a real paid service)
Package What it is
packages/contracts PharosPayUSD (EIP-3009 stablecoin, faucet, referral) and PharosPayLedger (settlement plus on-chain reputation and streak). Foundry.
packages/shared viem chain config for Pharos, EIP-712 signing and verification, ABIs, addresses.
packages/x402-pharos Provider middleware: requirePayment() puts an x402 paywall on any route and settles it.
packages/skill The MCP skill: the agent's wallet. npx pharospay-skill.
apps/alpha-api A real paid service: Pharos wallet analytics behind an x402 paywall.
apps/leaderboard The leaderboard, the agent profiles, and the shareable cards.
pharos-skill The same thing packaged as a Pharos Agent Skill (SKILL.md format).

How a payment works

  1. The agent calls pay_fetch(url). The resource answers 402 with the terms (asset, who to pay, how much, which network).
  2. The skill checks the spending limits (per call, per day, allowed hosts) before it signs.
  3. It signs an EIP-3009 TransferWithAuthorization. The agent needs no gas for this.
  4. It resends with an X-PAYMENT header. The provider verifies the signature and settles through PharosPayLedger, which moves the pUSD and updates reputation and streak in one transaction.
  5. The skill records a receipt. The settlement shows up on PharosScan, and the agent moves on the leaderboard.

Quickstart

// MCP client config
{
  "mcpServers": {
    "pharospay": {
      "command": "npx",
      "args": ["pharospay-skill"],
      "env": {
        "PHAROSPAY_PRIVATE_KEY": "0xYOUR_AGENT_KEY",
        "PHAROS_CHAIN_ID": "688689",
        "PHAROS_RPC_URL": "https://atlantic.dplabs-internal.com"
      }
    }
  }
}
set_budget({ perCallMax: "0.10", dailyCap: "1.0" })
pay_fetch({ url: "https://alpha-api-seven.vercel.app/alpha/wallet/0xabc...", maxAmount: "0.05" })
list_receipts({})
get_reputation({})

Live deployment (Pharos Atlantic testnet, chain id 688689)

  • Leaderboard (live): https://leaderboard-five-neon.vercel.app
  • Alpha API (live, paid): https://alpha-api-seven.vercel.app
  • pUSD: 0x3c37a2a0ebe4683f6242189733b352f05641cb73
  • PharosPayLedger: 0x4ce02b05b3fa4e04404cdaea15c1f82be1781ca8
  • Example x402 settlement: https://testnet.pharosscan.xyz/tx/0xd95c1836af9e44fe9c5795bbf736548040ae2426742b7dd99572ba21200621c8
  • Explorer: https://testnet.pharosscan.xyz

The Alpha API and the leaderboard run locally for now (see each package README). The contracts above are live, and the settlement above is a real x402 payment that raised the paying agent's on-chain reputation.

Run it and check it

pnpm install
cd packages/contracts && forge test     # contracts
pnpm -r test                            # everything else

38 tests across the packages. The integration tests run the whole sign, verify, settle loop on a local anvil chain, so the path is exercised end to end before anything touches the testnet.

The reputation part

Every payment is visible. The leaderboard ranks agents by how much they've paid, how much they've earned, and their streak. Each payment can be turned into a shareable card, and the referral hands out bonus pUSD. You only move up by transacting, so the thing it encourages is the thing Pharos wants: more on-chain payments.

Where this goes next (Phase 2)

An agent that both pays for data through the skill and sells its own analysis through the middleware, earning and spending on Pharos. Phase 1 is the rails. Phase 2 is the agent that runs on them.

Tech

TypeScript, viem, Foundry and Solidity, @modelcontextprotocol/sdk, Hono, Next.js with @vercel/og, x402 over EIP-3009, pnpm workspaces.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured