Skip to content

ds1/pincerpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

194 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PincerPay

The payment gateway for the agentic economy. Accept payments from AI agents. Add a few lines of code. Settle instantly in USDC.

Architecture

Agent → 402 Challenge → Sign USDC Transfer → PincerPay Facilitator → Blockchain → Merchant

PincerPay Agent Playground — x402 payment flow in action

PincerPay is a non-custodial x402 facilitator. When an AI agent hits a merchant API and gets HTTP 402, the agent signs a USDC transfer. PincerPay verifies the signature, broadcasts to the blockchain, and confirms settlement.

Monorepo Structure

Package Description Docs
apps/facilitator x402 facilitator service (Hono + Node.js)
apps/dashboard Merchant dashboard (Next.js 15)
packages/merchant Merchant SDK — Express + Hono middleware README
packages/agent Agent SDK — automatic x402 payment handling README
packages/core Shared types, chain configs, constants README
packages/db Drizzle ORM schema + migrations README
packages/program Anchor program client for Solana README
packages/solana Kora gasless txns + Squads smart accounts README
examples/ Example merchant and agent apps

Quick Start

Prerequisites

  • Node.js 22+
  • pnpm 10+
  • PostgreSQL (Supabase recommended)

Install

pnpm install

Build

pnpm build

Development

# Start all services
pnpm dev

# Start individual services
pnpm --filter @pincerpay/facilitator dev
pnpm --filter @pincerpay/dashboard dev

Database

# Generate migrations from schema
pnpm db:generate

# Push schema to database
pnpm db:push

Merchant SDK

import express from "express";
import { pincerpay } from "@pincerpay/merchant/express";

const app = express();

app.use(
  pincerpay({
    apiKey: process.env.PINCERPAY_API_KEY!,
    merchantAddress: "YOUR_SOLANA_ADDRESS",
    routes: {
      "GET /api/weather": {
        price: "0.01",
        chain: "solana",
        description: "Weather data",
      },
    },
  })
);

See @pincerpay/merchant README for Hono middleware, multi-chain config, and full API reference.

Agent SDK

import { PincerPayAgent } from "@pincerpay/agent";

const agent = await PincerPayAgent.create({
  chains: ["solana"],
  solanaPrivateKey: process.env.AGENT_SOLANA_KEY!,
});

// Automatic 402 handling
const response = await agent.fetch("https://api.example.com/weather");

See @pincerpay/agent README for spending policies, multi-chain setup, and Squads smart accounts.

Supported Chains

Chain Network ID Status
Base eip155:8453 Mainnet
Base Sepolia eip155:84532 Testnet
Polygon eip155:137 Mainnet
Polygon Amoy eip155:80002 Testnet
Solana solana:mainnet Supported
Solana Devnet solana:devnet Testnet

Deployment

Service URL
Facilitator https://pincerpayfacilitator-production.up.railway.app
Dashboard https://pincerpay.com

The facilitator is deployed to Railway via Docker. The dashboard is deployed to Vercel. Solana is the primary chain (devnet). Base and Polygon are supported as optional secondary chains.

Tech Stack

  • Runtime: Node.js 22 (pnpm monorepo + Turborepo)
  • Facilitator: Hono + @x402/core + @x402/evm + @x402/svm + viem
  • Dashboard: Next.js 15 + Tailwind CSS + Supabase Auth
  • Database: PostgreSQL (Supabase) + Drizzle ORM
  • CI: GitHub Actions (typecheck → test → build)
  • Protocols: x402 (Coinbase)

Testing

pnpm test

47 tests across 5 suites (core, agent, merchant, facilitator).

Examples

Example Description
examples/express-merchant Express merchant with PincerPay middleware
examples/agent-weather AI agent paying for weather API data
pincerpay-agent-demo Standalone agent demo repository

Community

License

MIT

Packages

 
 
 

Contributors