02 · docs/QUICKSTART.mdOpenPons manual

Quickstart

Production: https://openpons.xyz. To run your own copy: Node 20+ (tested on Node 24), npm.

cd ~/openpons
npm install
npm run dev            # http://localhost:4663

Port 4663 matches the Robinhood Chain chainId, which makes it easy to remember.

1 · Use the app

  • /discover: browse new, active and graduated Pons tokens.
  • /trade/<CA>: quote, then buy or sell with your own wallet.
  • /launch: launch a Pons token. You need a pinned ipfs:// or https:// logo URI.
  • /portfolio: holdings, your launches, and creator fees with claim.

2 · Call the API

Public API: https://openpons.xyz/api/v1 (swap in http://localhost:4663/api/v1 when self-hosting).

curl "https://openpons.xyz/api/v1/health"
curl "https://openpons.xyz/api/v1/tokens?sort=new&limit=5"
curl "https://openpons.xyz/api/v1/quote?token=0xTOKEN&side=buy&amount=0.01"
curl -X POST https://openpons.xyz/api/v1/prepare/buy \
  -H "Content-Type: application/json" \
  -d '{"token":"0xTOKEN","amount":"0.01","from":"0xYOUR_WALLET"}'

prepare/* returns an unsigned transaction. Nothing is broadcast.

3 · Connect an agent (MCP)

npm run build:mcp
claude mcp add openpons --env OPENPONS_API_URL=https://openpons.xyz/api/v1 \
  -- node ~/openpons/packages/mcp/dist/index.js

For Claude Desktop and Cursor JSON configs, see MCP.md.

4 · Use the SDK

npm run build:sdk
import { OpenPons } from "@openpons/sdk";
const openpons = new OpenPons({ baseUrl: "https://openpons.xyz/api/v1" });
const { tokens } = await openpons.tokens.search({ sort: "active" });

5 · Tests

npm test               # unit tests (curve math, parsing, EIP-6963 isolation)
npm run typecheck
npm run build

Optional environment variables are listed in .env.example. None are required, and none are secret.

Independent · not affiliated with Pons or Robinhood@openpons