PumpView — Solana Trading & Live Data

fun.pumpviewPublished by pumpview.funOfficial publisherv1.2.3Updated Oct 24, 2026

Solana swaps with local signing, confirmed receipts, trading volume and filtered live trade data.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

A hosted Solana trading MCP server that lets an assistant build and simulate swaps, submit locally signed transactions, track receipts, and read live trade data

What you can do
Read onboarding, trading configuration and data plan information without a key, and check account access status and usage volume with one. Build and simulate unsigned ExactIn swaps against the server's swap policy, then submit a wallet-signed build and poll its status and receipt. Read filtered recent market trade summaries or get WebSocket setup for a continuous live feed. Create and inspect USDC invoices for live-data packages, prepare an unsigned payment, and confirm an already-broadcast payment.
When to use it
Useful when an assistant needs to prepare Solana swaps that the user signs locally, follow a swap from build to confirmed or finalized, or consume PumpView's filtered SOL-pair trade feed and account volume figures.
Requirements
A remote Streamable HTTP endpoint; no local package is needed. A PumpView API key sent as an Authorization bearer header, obtained from the dashboard with a linked signing wallet or through wallet-signature onboarding. A linked Solana wallet for trading and invoices. Live data needs a purchased package; trading does not.
Before you install
The submit_swap tool broadcasts a transaction and can spend funds; only signed bytes reviewed by the user's wallet should be supplied. Executed swaps carry a 0.5% platform fee plus tips and network costs, and live-data packages are paid in USDC. Never send a private key or seed phrase. Invoice payment must be signed and broadcast locally, and payments should not be repeated while confirmation is pending.

Installation

In SourceWeft

  1. Open PumpView — Solana Trading & Live Data in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/fun.pumpview%2Ftrading/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "pumpview-solana-trading-live-data": {
      "type": "http",
      "url": "https://api.pumpview.fun/mcp/",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

[PumpView]

PumpView Agent Kit

Solana trading and live trade data for AI agents. Build a swap, sign locally, submit through PumpView, and read the execution receipt from confirmed onward.

Trading API · Dashboard · Quickstart · OpenAPI

Listed in the official MCP Registry as fun.pumpview/trading. The hosted server uses the verified pumpview.fun domain namespace. Also available in the Glama MCP directory.

Connect an agent

Install the skill from this repository:

sh
npx skills add grinchdev/pumpview-agent-kits --skill pumpview-trading

Or configure a remote MCP connection in a client that supports custom headers:

text
URL: https://api.pumpview.fun/mcp/Transport: Streamable HTTPAuthorization: Bearer <PUMPVIEW_API_KEY>

Header configuration syntax depends on your client. PumpView uses API keys, not OAuth. Keep the real key in your client's secret store. Initialization, tool discovery and trading configuration are public; account operations require your key. Installing a skill does not create an account or authorize spending.

Try public discovery without a key (Node 18+):

sh
node examples/mcp-discovery.mjs

Get access

Existing PumpView account: sign in to the dashboard, link your signing wallet and create an API key.

Agent-owned wallet: request /v1/agent/challenge, sign its exact message locally and exchange the signature at /v1/agent/access. This creates a key without browser registration. See the wallet onboarding reference. Never send PumpView a private key or seed phrase.

Attribution

Keys record an optional acquisition_source at creation so PumpView can report requests and confirmed volume by acquisition channel. For a npx skills installation use skills_sh; for a ClawHub install use clawhub; direct GitHub users can use github. Unknown kit installs use agent_kit. The Python client's complete_wallet_access(..., acquisition_source="skills_sh") accepts the label. This is client-declared attribution, not referral verification. Do not send raw referrer URLs or secrets. It does not change fees, limits or permissions.

Buy live-data access through MCP

Use list_data_plans → get_payment_instructions → prepare_invoice_payment. Review the invoice and unsigned payment, then sign and broadcast using your local wallet. Call confirm_invoice_payment with that transaction signature until finalized, then read get_access_status. get_invoice_status recovers an existing invoice. Never repeat a payment while confirmation is pending. Trading itself does not require a data package. No Coinbase service is needed.

Python client

Python 3.10+; the client has no runtime dependencies. Install from a local clone:

sh
git clone https://github.com/grinchdev/pumpview-agent-kits.gitcd pumpview-agent-kitspython -m pip install -e .

Load PUMPVIEW_API_KEY through your environment or secret manager, then build an unsigned 0.06 SOL → USDC swap with 1% slippage:

sh
python examples/build_swap.py --wallet YOUR_LINKED_PUBLIC_KEY --output USDC --amount 60000000 --slippage-bps 100 --state state/intent-001.json

The example persists its request ID before contacting PumpView. Run it with the same file and arguments to recover after a build timeout. It only builds and simulates; it never signs or submits. USD minimum checks use current prices, so the amount in this example may need adjustment before starting a new intent.

The client also provides wallet_challenge, complete_wallet_access, trading_config, swap_status, trading_usage, recent_trades, and submit_swap. submit_swap broadcasts a transaction and can spend funds. Supply only bytes reviewed and signed by the user's authorized local wallet.

python
import osfrom pumpview_agent_kit import PumpView
client = PumpView(os.environ["PUMPVIEW_API_KEY"])policy = client.trading_config()volume = client.trading_usage()# Recover a known submission without creating or sending another trade:# receipt = client.swap_status(saved_swap_id)

For TypeScript, examples/build_swap.mts runs directly on Node 22.18+. Provide PUMPVIEW_API_KEY, PUMPVIEW_WALLET, PUMPVIEW_OUTPUT, PUMPVIEW_AMOUNT, PUMPVIEW_SLIPPAGE_BPS and a previously persisted PUMPVIEW_REQUEST_ID; PUMPVIEW_INPUT defaults to SOL. Run node examples/build_swap.mts. This example also only builds/simulates.

Trading workflow

  1. Read /v1/swaps/config for availability, supported pairs and current costs.
  2. Persist a unique request ID and exact intent. Build with REST or MCP.
  3. Review the returned versioned message, minimum output, fees and tips against the approved intent; sign the exact message using your own wallet adapter.
  4. Persist the build ID and signed bytes securely. Submit the signed transaction.
  5. Poll the same swap ID. A submitted response is not execution. Receipts start at confirmed; continue polling when you need finalized settlement.

The SDK deliberately has no automatic request retries or wallet signer. After a build timeout, reuse the request ID; after a submit timeout, query the same swap ID. Do not automatically change the blockhash or create a replacement. Honor Retry-After on 429. The full integration reference covers authentication, recovery and atomic units.

Costs and supported pairs

  • Trading API access has no subscription charge. Executed swaps have a 0.5% platform fee, plus tips and network costs. Minimum tips: 0.002 SOL.
  • At least one leg must be SOL, WSOL or native Solana USDC. Other TOKEN–TOKEN swaps and wrapping-only SOL–WSOL requests are unsupported. Routing uses Jupiter; availability depends on the token and current pools.
  • SOL means native SOL with wrap/unwrap; WSOL means the SPL token balance. ExactIn amounts are integer strings in atomic units; slippage is explicit.
  • Minimum swap: $5 equivalent without Unlimited. Unlimited removes that minimum. All trades still require enough SOL for costs and applicable rent.
  • PumpView sends through its landing infrastructure to 4 validators simultaneously with MEV protection. PumpView reports measured inclusion in the current block under 100 ms; this is its own benchmark, not a confirmed/finalized timing SLA.
  • Authenticated HTTP and MCP calls share 3 / 5 / 20 requests per second per account for Free or Day Pass / Starter / Unlimited. Keys do not multiply limits.

Live data and volume

Trading and live-data access are separate. Data requires an active package; current plans are authoritative. Unlimited currently costs 49 USDC for 30 days. Every plan shares one WSS connection per account. Direct USDC invoice payment does not require Coinbase.

get_recent_trades returns accepted swap summaries; get_stream_connection describes wss://api.pumpview.fun/v1/stream. Your agent runtime maintains the socket and replay cursor. The feed preserves PumpView's suspicious-price filter and decoder coverage; it is not every individual Solana swap or archival history.

get_trading_usage / /v1/swaps/usage returns account and per-key executed volume. Confirmed swaps count once; finalization and repeated polls do not add volume. USD totals use build-time price estimates; unpriced swaps remain visible.

Development

sh
python -m unittest discover -s tests

server.json describes the hosted MCP for the official Registry. Publishing the manifest does not deploy a new server. The hosted service retains its own access controls and fees. This repository contains client code, examples and agent instructions under MIT; it does not contain backend credentials or signing keys.

Source: README.md at commit 45c76a1

Tools

14

get_onboarding_instructions

Get API-key setup and integration instructions before your first PumpView call. Public: no key or data credits needed. Returns dashboard/Agent Kit/docs URLs, ordered HTTP wallet-challenge steps, and separate trading/data workflows. Does not create an account, sign, pay or trade. Once connected, use get_trading_config for swap policy or get_access_status for your purchased access.

Takes no parameters.

get_trading_config

Read the current server's swap policy before choosing build_swap parameters. Public: no API key or data credits needed. Returns enabled, mint aliases, allowed pair assets, fee basis points, USD minimums, tip limits and build TTL. enabled is configuration status, not a liquidity quote or an RPC health check. Use get_trading_usage for executed account volume and get_access_status for grants.

Takes no parameters.

build_swap

Build and simulate an unsigned ExactIn swap, without spending funds. Requires a Bearer API key and its linked wallet, but no data subscription or credits. Check get_trading_config first. At least one leg must be SOL/WSOL or USDC; minimum value is $5 unless Unlimited is active. Execution costs 0.5% plus tips and network fees. Returns id, unsigned transaction_base64, expiry, expected/minimum output and cost breakdown. Review them, sign locally, then call submit_swap. Persist request_id; retry the identical intent after a build timeout. A 409 means conflicting intent; 410 means expired build and requires an explicit decision to create a new intent. Never silently increase slippage.

Parametersamountrequiredwalletrequiredinput_mintrequiredrequest_idrequiredoutput_mintrequiredslippage_bpsrequiredtip_lamportsmax_priority_fee_lamports

get_trading_usage

Read all-time executed volume for the authenticated account and each API key. Use for accounting, not market history (get_recent_trades) or one receipt (get_swap_status). Bearer key required; no data package or credits consumed. Returns available, totals and by_api_key. Successful swaps count once from confirmed; finalization never adds them again. SOL/USDC amounts are decimal strings; USD uses build-time prices. available=false means temporary unavailability, not zero volume. Newly confirmed receipts may appear shortly later.

Takes no parameters.

submit_swap

Broadcast the wallet-approved, signed build through Kolibrio. This can spend funds. Requires a Bearer key for the account that built the swap. Only the exact build_swap message is accepted; the wallet must already have reviewed and authorized its amounts and costs. Returns the swap ID, signature and current status; submitted is not confirmation. Repeating the same ID and signed bytes cannot create a different trade. After a timeout or uncertain delivery, poll get_swap_status; never automatically build a replacement or change its blockhash.

Parametersswap_idrequiredsigned_transaction_base64required

get_swap_status

Check an existing account swap after submission, including after a timeout. Requires the owning account's Bearer key; no data credits consumed. Returns id, signature, status and receipt. States are built, submitted, confirmed, finalized, failed or expired. Execution receipts start at confirmed and may still be null while RPC metadata catches up. Poll this ID with backoff within the account rate limit; use get_trading_usage for aggregate volume. This call refreshes stored status/receipts but never submits, signs or rebuilds a trade.

Parametersswap_idrequired

get_recent_trades

Read filtered market swap summaries from PumpView's supported SOL-pair feed. Use for recent market activity, not your submitted swap receipt (get_swap_status). Requires a Bearer key, active data grant and sufficient key budget. Each call consumes max(1, returned event count) credits; repeated reads also count. Unlimited has no package event cap, but an explicit key budget still applies. Returns events in feed order, a cursor and health. Filtering follows batch scanning, so advance using the returned cursor even for an empty batch. On 409 cursor_expired restart without after and record a gap; 402 means access or budget exhausted, 503 means unavailable source. Use get_stream_connection for continuous WSS delivery. Amounts are decoder floats, not full transaction accounting.

Parametersmintafterlimitwallet

get_access_status

Inspect the authenticated account's live-data grants, rate limit and feed health. Call before consuming data or after an access error. Bearer key required; no data credits consumed. Returns unexpired grants (remaining=-1 means Unlimited), http_rate_limit shared across account keys, and source health. An empty grants list means no unexpired package; a grant can still have zero credits. Key-specific budgets are managed in the dashboard and are not in this response. Use get_trading_usage for swap volume, get_trading_config for swap policy, and get_payment_instructions to create a data-package invoice.

Takes no parameters.

get_payment_instructions

Create a new unpaid USDC invoice for a live-data package; this spends no funds. Call only after choosing a current plan with list_data_plans and checking get_access_status. Trading alone needs no data subscription. Requires a Bearer key and linked Solana wallet; missing wallet returns 409, unknown plan 404, disabled sales 503. Returns invoice id, payer, recipient, mint, atomic amount, memo and Unix expiry. Each call creates another invoice, so retain its ID rather than retry blindly. Next use prepare_invoice_payment, review/sign/broadcast with your wallet, then confirm_invoice_payment with the transaction signature. get_invoice_status checks settlement. submit_swap is for swaps, not invoice payments. Never pay an expired invoice or repeat a payment while confirmation is pending.

Parametersplanrequired

list_data_plans

List current data packages and prices before buying a live-data subscription. Public: no key or credits needed. Returns plan IDs, price in atomic USDC (6 decimals), duration, event allowance, filters, account request/connection limits and sales_enabled. -1 credits means Unlimited. Trading alone needs no data package. If sales are enabled, choose a plan and call get_payment_instructions with its exact id to create an unpaid invoice.

Takes no parameters.

get_invoice_status

Read one of your account's existing invoices without creating or paying another. Bearer key required; no package or data credits needed. Returns payer, recipient, exact atomic USDC amount, memo, expires (Unix seconds) and paid. paid=false means not yet settled by PumpView, not proof of no on-chain payment. If your wallet already broadcast, use confirm_invoice_payment with that signature. Do not pay again while waiting. Missing or another account's invoice returns 404.

Parametersinvoice_idrequired

prepare_invoice_payment

Prepare an unsigned USDC payment for an existing unpaid, unexpired invoice. Bearer key required; no package or data credits needed. Returns a base64 legacy Solana transaction and last_valid_block_height. Review it against get_invoice_status: payer, recipient, mint, amount and pumpview:<id> memo. Your authorized wallet signs and broadcasts locally, using USDC plus SOL for network fees and possible token-account rent. PumpView never receives the private key. This tool does not sign, submit or activate the package. Next call confirm_invoice_payment with the wallet's broadcast signature. A 409 means expired/paid invoice. On blockhash expiry, check the old signature before preparing a replacement for the same invoice; never pay twice.

Parametersinvoice_idrequired

confirm_invoice_payment

Verify an already-broadcast invoice payment and activate the purchased data package. Bearer key for the invoice owner required; no data credits consumed. Reads Solana at finalized and validates payer, recipient, USDC amount, memo and payment window. It never broadcasts a payment. Returns paid=true and invoice_id on settlement. Repeating the same invoice/signature is safe and never grants access twice. 409 may mean payment not finalized: retry this confirmation with backoff, not the payment. 400 means transaction mismatch; 404 means missing/foreign invoice; 503 means RPC unavailable. After success, use get_access_status, then get_recent_trades or get_stream_connection.

Parameterssignaturerequiredinvoice_idrequired

get_stream_connection

Get WSS setup for continuous live trades instead of polling get_recent_trades. Requires a Bearer key with an active eligible data grant/budget; 402 means access is unavailable. Returns url, an Authorization header template, first_message JSON and cursor-resume instructions. This lookup consumes no data credits and opens no background connection. Your runtime must connect and insert its own key; all keys share one concurrent WSS connection per account. Delivered events consume data credits/budget under the plan. Persist the last cursor to resume; an expired cursor requires a fresh snapshot and gap handling.

Takes no parameters.

Version history

1
  1. v1.2.3LatestOct 16, 2026

Score

100% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts