PumpView — Solana Trading & Live Data
Solana swaps with local signing, confirmed receipts, trading volume and filtered live trade data.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"trading": {
"url": "https://api.pumpview.fun/mcp/"
}
}
}Remote-Endpunkte
https://api.pumpview.fun/mcp/streamable-httpWas es kann
Tool-Inventar
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_onboarding_instructionsArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"name": {
"description": "Service name: PumpView.",
"title": "Name",
"type": "string"
},
"network": {
"description": "Solana network used by the API: solana-mainnet.",
"title": "Network",
"type": "string"
},
"mcp_url": {
"description": "Streamable HTTP MCP endpoint.",
"title": "Mcp Url",
"type": "string"
},
"authentication": {
"description": "Authorization header template; replace the placeholder with your own secret key.",
"title": "Authentication",
"type": "string"
},
"account_access": {
"description": "Dashboard URL for login, wallet linking and API keys.",
"title": "Account Access",
"type": "string"
},
"agent_kit": {
"description": "Public PumpView examples and installable skill repository.",
"title": "Agent Kit",
"type": "string"
},
"skill_install": {
"description": "Command to install the PumpView trading skill.",
"title": "Skill Install",
"type": "string"
},
"documentation": {
"description": "Markdown integration guide with HTTP onboarding and payment steps.",
"title": "Documentation",
"type": "string"
},
"wallet_access": {
"description": "Ordered HTTP challenge, local message-signing and access-exchange steps; no private key is transmitted.",
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Wallet Access",
"type": "array"
},
"trading": {
"additionalProperties": true,
"description": "Trading subscription requirements, policy URL, tool names and signing workflow.",
"title": "Trading",
"type": "object"
},
"data": {
"additionalProperties": true,
"description": "Paid live-data requirements and URL of the current plan catalog.",
"title": "Data",
"type": "object"
}
},
"required": [
"name",
"network",
"mcp_url",
"authentication",
"account_access",
"agent_kit",
"skill_install",
"documentation",
"wallet_access",
"trading",
"data"
],
"additionalProperties": true,
"title": "OnboardingOutput"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_trading_configArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"enabled": {
"description": "Whether the trading proxy is currently configured and enabled; not a guarantee that a route exists.",
"title": "Enabled",
"type": "boolean"
},
"subscription_required": {
"description": "False: building and submitting swaps needs no paid data package.",
"title": "Subscription Required",
"type": "boolean"
},
"platform_fee_bps": {
"description": "Platform swap fee in basis points; 50 means 0.5%.",
"title": "Platform Fee Bps",
"type": "integer"
},
"required_pair_assets": {
"description": "At least one swap leg must resolve to an asset in this list; see mint_aliases.",
"items": {
"type": "string"
},
"title": "Required Pair Assets",
"type": "array"
},
"free_minimum_usd": {
"description": "Minimum swap value in USD without an active Unlimited grant, as a decimal string.",
"title": "Free Minimum Usd",
"type": "string"
},
"unlimited_minimum_usd": {
"description": "Minimum swap value in USD with Unlimited, as a decimal string.",
"title": "Unlimited Minimum Usd",
"type": "string"
},
"mint_aliases": {
"additionalProperties": {
"type": "string"
},
"description": "SOL, WSOL and USDC alias-to-mint mapping. SOL spends native balance; WSOL spends SPL balance.",
"title": "Mint Aliases",
"type": "object"
},
"slippage_bps": {
"additionalProperties": true,
"description": "Whether explicit slippage is required and its inclusive minimum/maximum in basis points.",
"title": "Slippage Bps",
"type": "object"
},
"tips": {
"additionalProperties": true,
"description": "Minimum tip in lamports and transfer recipients disclosed for review before signing.",
"title": "Tips",
"type": "object"
},
"build_ttl_seconds": {
"description": "Time window for submitting a newly built transaction before its unsigned intent expires.",
"title": "Build Ttl Seconds",
"type": "integer"
},
"receipt_commitment": {
"description": "Earliest commitment at which execution receipts are available: confirmed.",
"title": "Receipt Commitment",
"type": "string"
}
},
"required": [
"enabled",
"subscription_required",
"platform_fee_bps",
"required_pair_assets",
"free_minimum_usd",
"unlimited_minimum_usd",
"mint_aliases",
"slippage_bps",
"tips",
"build_ttl_seconds",
"receipt_commitment"
],
"additionalProperties": true,
"title": "TradingConfigOutput"
}🟡build_swap(request_id, wallet, input_mint, output_mint, amount, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"request_id": {
"description": "Client-generated idempotency key, persisted before calling. Reuse with identical arguments after a timeout; changing the intent under this ID returns 409.",
"examples": [
"agent-intent-20261016-001"
],
"maxLength": 80,
"minLength": 16,
"pattern": "^[A-Za-z0-9_-]+$",
"title": "Request Id",
"type": "string"
},
"wallet": {
"description": "Base58 public key of the signing wallet linked to this API-key account. Obtain/link it through onboarding; never pass a private key.",
"maxLength": 44,
"minLength": 32,
"title": "Wallet",
"type": "string"
},
"input_mint": {
"description": "Asset to spend: SOL for native balance, WSOL for SPL wrapped balance, USDC, or a base58 token mint. One leg must resolve to SOL/WSOL/USDC.",
"examples": [
"SOL",
"USDC"
],
"maxLength": 44,
"minLength": 3,
"title": "Input Mint",
"type": "string"
},
"output_mint": {
"description": "Asset to receive using the same aliases or a base58 mint. Must differ from the input after alias resolution; SOL-to-WSOL wrapping alone is unsupported.",
"examples": [
"USDC"
],
"maxLength": 44,
"minLength": 3,
"title": "Output Mint",
"type": "string"
},
"amount": {
"description": "Exact input amount in atomic units, encoded as a decimal integer string, at most u64. SOL/WSOL has 9 decimals and USDC 6; resolve other token decimals first. Example: 0.06 SOL is \"60000000\".",
"examples": [
"60000000"
],
"pattern": "^[1-9][0-9]{0,19}$",
"title": "Amount",
"type": "string"
},
"slippage_bps": {
"description": "Explicit signer-approved slippage tolerance. 100 basis points = 1%; 10000 allows 100%. Never silently increase it to fix a failed route.",
"examples": [
100
],
"maximum": 10000,
"minimum": 0,
"title": "Slippage Bps",
"type": "integer"
},
"tip_lamports": {
"default": 2000000,
"description": "Total acceleration tip in SOL lamports, separate from platform and network fees. 2000000 lamports = 0.002 SOL; charged only if the signed transaction executes.",
"maximum": 1000000000,
"minimum": 2000000,
"title": "Tip Lamports",
"type": "integer"
},
"max_priority_fee_lamports": {
"default": 1000000,
"description": "Cap on the compute-unit priority fee in lamports. Excludes the base network fee, tips, token-account rent and platform fee; 1000000 = 0.001 SOL.",
"maximum": 100000000,
"minimum": 0,
"title": "Max Priority Fee Lamports",
"type": "integer"
}
},
"required": [
"request_id",
"wallet",
"input_mint",
"output_mint",
"amount",
"slippage_bps"
],
"title": "build_swapArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"description": "PumpView swap ID (32 lowercase hex characters), passed as swap_id to status and submit tools.",
"title": "Id",
"type": "string"
},
"status": {
"description": "Lifecycle state: built, submitted, confirmed, finalized, failed, or expired. A send timeout may leave state uncertain; poll this ID.",
"title": "Status",
"type": "string"
},
"request_id": {
"description": "Original client-generated idempotency key for this intent.",
"title": "Request Id",
"type": "string"
},
"signature": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Solana transaction signature, or null before submission. Not interchangeable with the PumpView swap ID.",
"title": "Signature"
},
"transaction_base64": {
"description": "Unsigned Solana v0 transaction for local wallet signing; only returned for a build still in built state.",
"title": "Transaction Base64",
"type": "string"
},
"expires_at": {
"description": "Unsigned build expiry as Unix seconds; not proof that a submitted transaction failed.",
"title": "Expires At",
"type": "integer"
},
"last_valid_block_height": {
"description": "Last block height accepted by the transaction blockhash.",
"title": "Last Valid Block Height",
"type": "integer"
},
"input_amount": {
"description": "Exact input amount as a string of integer atomic units.",
"title": "Input Amount",
"type": "string"
},
"expected_output_amount": {
"description": "Quoted output in atomic units; execution may differ within the slippage bound.",
"title": "Expected Output Amount",
"type": "string"
},
"minimum_output_amount": {
"description": "Slippage-protected output threshold in atomic units to review before signing.",
"title": "Minimum Output Amount",
"type": "string"
},
"platform_fee": {
"additionalProperties": true,
"description": "Fee basis points, mint, recipient account and calculation basis.",
"title": "Platform Fee",
"type": "object"
},
"tips": {
"additionalProperties": true,
"description": "Total tip and transfer destinations for wallet review, in lamports.",
"title": "Tips",
"type": "object"
},
"network_fee_lamports": {
"description": "Estimated total network fee for the built message, as an integer string.",
"title": "Network Fee Lamports",
"type": "string"
},
"receipt": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"description": "Actual execution details from confirmed onward; null before confirmation or while RPC transaction metadata is pending.",
"title": "Receipt"
},
"error": {
"description": "Failure information if present. Preserve the swap ID and inspect status before deciding on any new intent.",
"title": "Error"
}
},
"required": [
"id",
"status"
],
"additionalProperties": true,
"title": "SwapOutput"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_trading_usageArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"available": {
"description": "False means statistics are temporarily unavailable, not that volume is zero.",
"title": "Available",
"type": "boolean"
},
"totals": {
"$ref": "#/$defs/VolumeTotals",
"description": "All-time executed account volume and count when available."
},
"by_api_key": {
"description": "Per-key volume buckets. An unused key may have no bucket yet.",
"items": {
"$ref": "#/$defs/VolumeTotals"
},
"title": "By Api Key",
"type": "array"
},
"period": {
"description": "Aggregation period: all_time.",
"title": "Period",
"type": "string"
},
"counted_from": {
"description": "Earliest counted commitment: confirmed; finalization does not add volume again.",
"title": "Counted From",
"type": "string"
},
"message": {
"description": "Explanation when statistics are unavailable.",
"title": "Message",
"type": "string"
}
},
"required": [
"available"
],
"$defs": {
"VolumeTotals": {
"additionalProperties": true,
"properties": {
"swap_count": {
"description": "Number of successfully executed swaps counted once from confirmed.",
"title": "Swap Count",
"type": "integer"
},
"sol_volume": {
"description": "Executed base-leg SOL volume as a decimal string in SOL units.",
"title": "Sol Volume",
"type": "string"
},
"usdc_volume": {
"description": "Executed base-leg USDC volume as a decimal string in USDC units.",
"title": "Usdc Volume",
"type": "string"
},
"estimated_volume_usd": {
"description": "Estimated USD volume using prices captured at build time, not live market valuation.",
"title": "Estimated Volume Usd",
"type": "string"
},
"unpriced_swaps": {
"description": "Count of swaps for which no USD valuation was available.",
"title": "Unpriced Swaps",
"type": "integer"
},
"api_key_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "API-key ID for a per-key bucket; null for unattributed/legacy swaps. Absent on account totals.",
"title": "Api Key Id"
}
},
"title": "VolumeTotals",
"type": "object"
}
},
"additionalProperties": true,
"title": "TradingUsageOutput"
}🔴submit_swap(swap_id, signed_transaction_base64)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"swap_id": {
"description": "PumpView id returned by build_swap for this account, not a Solana signature or request_id.",
"examples": [
"0123456789abcdef0123456789abcdef"
],
"pattern": "^[0-9a-f]{32}$",
"title": "Swap Id",
"type": "string"
},
"signed_transaction_base64": {
"description": "Standard base64 of the complete serialized Solana v0 transaction from this build, after local wallet signing. Preserve the original message and blockhash. Not a signature string, seed, private key or JSON transaction.",
"maxLength": 1800,
"minLength": 100,
"title": "Signed Transaction Base64",
"type": "string"
}
},
"required": [
"swap_id",
"signed_transaction_base64"
],
"title": "submit_swapArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"description": "PumpView swap ID (32 lowercase hex characters), passed as swap_id to status and submit tools.",
"title": "Id",
"type": "string"
},
"status": {
"description": "Lifecycle state: built, submitted, confirmed, finalized, failed, or expired. A send timeout may leave state uncertain; poll this ID.",
"title": "Status",
"type": "string"
},
"request_id": {
"description": "Original client-generated idempotency key for this intent.",
"title": "Request Id",
"type": "string"
},
"signature": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Solana transaction signature, or null before submission. Not interchangeable with the PumpView swap ID.",
"title": "Signature"
},
"transaction_base64": {
"description": "Unsigned Solana v0 transaction for local wallet signing; only returned for a build still in built state.",
"title": "Transaction Base64",
"type": "string"
},
"expires_at": {
"description": "Unsigned build expiry as Unix seconds; not proof that a submitted transaction failed.",
"title": "Expires At",
"type": "integer"
},
"last_valid_block_height": {
"description": "Last block height accepted by the transaction blockhash.",
"title": "Last Valid Block Height",
"type": "integer"
},
"input_amount": {
"description": "Exact input amount as a string of integer atomic units.",
"title": "Input Amount",
"type": "string"
},
"expected_output_amount": {
"description": "Quoted output in atomic units; execution may differ within the slippage bound.",
"title": "Expected Output Amount",
"type": "string"
},
"minimum_output_amount": {
"description": "Slippage-protected output threshold in atomic units to review before signing.",
"title": "Minimum Output Amount",
"type": "string"
},
"platform_fee": {
"additionalProperties": true,
"description": "Fee basis points, mint, recipient account and calculation basis.",
"title": "Platform Fee",
"type": "object"
},
"tips": {
"additionalProperties": true,
"description": "Total tip and transfer destinations for wallet review, in lamports.",
"title": "Tips",
"type": "object"
},
"network_fee_lamports": {
"description": "Estimated total network fee for the built message, as an integer string.",
"title": "Network Fee Lamports",
"type": "string"
},
"receipt": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"description": "Actual execution details from confirmed onward; null before confirmation or while RPC transaction metadata is pending.",
"title": "Receipt"
},
"error": {
"description": "Failure information if present. Preserve the swap ID and inspect status before deciding on any new intent.",
"title": "Error"
}
},
"required": [
"id",
"status"
],
"additionalProperties": true,
"title": "SwapOutput"
}🟢get_swap_status(swap_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"swap_id": {
"description": "PumpView id returned by build_swap for this account, not a Solana signature or request_id.",
"examples": [
"0123456789abcdef0123456789abcdef"
],
"pattern": "^[0-9a-f]{32}$",
"title": "Swap Id",
"type": "string"
}
},
"required": [
"swap_id"
],
"title": "get_swap_statusArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"description": "PumpView swap ID (32 lowercase hex characters), passed as swap_id to status and submit tools.",
"title": "Id",
"type": "string"
},
"status": {
"description": "Lifecycle state: built, submitted, confirmed, finalized, failed, or expired. A send timeout may leave state uncertain; poll this ID.",
"title": "Status",
"type": "string"
},
"request_id": {
"description": "Original client-generated idempotency key for this intent.",
"title": "Request Id",
"type": "string"
},
"signature": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Solana transaction signature, or null before submission. Not interchangeable with the PumpView swap ID.",
"title": "Signature"
},
"transaction_base64": {
"description": "Unsigned Solana v0 transaction for local wallet signing; only returned for a build still in built state.",
"title": "Transaction Base64",
"type": "string"
},
"expires_at": {
"description": "Unsigned build expiry as Unix seconds; not proof that a submitted transaction failed.",
"title": "Expires At",
"type": "integer"
},
"last_valid_block_height": {
"description": "Last block height accepted by the transaction blockhash.",
"title": "Last Valid Block Height",
"type": "integer"
},
"input_amount": {
"description": "Exact input amount as a string of integer atomic units.",
"title": "Input Amount",
"type": "string"
},
"expected_output_amount": {
"description": "Quoted output in atomic units; execution may differ within the slippage bound.",
"title": "Expected Output Amount",
"type": "string"
},
"minimum_output_amount": {
"description": "Slippage-protected output threshold in atomic units to review before signing.",
"title": "Minimum Output Amount",
"type": "string"
},
"platform_fee": {
"additionalProperties": true,
"description": "Fee basis points, mint, recipient account and calculation basis.",
"title": "Platform Fee",
"type": "object"
},
"tips": {
"additionalProperties": true,
"description": "Total tip and transfer destinations for wallet review, in lamports.",
"title": "Tips",
"type": "object"
},
"network_fee_lamports": {
"description": "Estimated total network fee for the built message, as an integer string.",
"title": "Network Fee Lamports",
"type": "string"
},
"receipt": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"description": "Actual execution details from confirmed onward; null before confirmation or while RPC transaction metadata is pending.",
"title": "Receipt"
},
"error": {
"description": "Failure information if present. Preserve the swap ID and inspect status before deciding on any new intent.",
"title": "Error"
}
},
"required": [
"id",
"status"
],
"additionalProperties": true,
"title": "SwapOutput"
}🟢get_recent_trades(mint, wallet, after, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"mint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional exact token mint address in base58. Filters the traded token of the supported SOL-pair feed; omit for all mints. No ticker aliases.",
"title": "Mint"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional exact base58 trader public key reported by the decoder. Combined with mint using AND; omit for all wallets.",
"title": "Wallet"
},
"after": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Opaque cursor returned by the previous batch. Omit for a recent snapshot; supply unchanged to scan subsequent events. Not a timestamp or transaction signature.",
"title": "After"
},
"limit": {
"default": 100,
"description": "Maximum accepted events scanned before mint/wallet filters, 1-500; default 100. The number returned can be smaller, including zero.",
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
"title": "get_recent_tradesArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"events": {
"description": "Accepted events after mint/wallet filtering. May be empty even when the cursor advances.",
"items": {
"$ref": "#/$defs/TradeEvent"
},
"title": "Events",
"type": "array"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Resume position after the scanned batch, including events removed by filters; use as the next after value.",
"title": "Cursor"
},
"health": {
"additionalProperties": true,
"description": "Feed connection status, last-message age, drop/replay-gap counters and price_filter identifier.",
"title": "Health",
"type": "object"
}
},
"required": [
"events",
"cursor"
],
"$defs": {
"TradeEvent": {
"additionalProperties": true,
"properties": {
"cursor": {
"description": "Opaque position of this accepted event in the feed.",
"title": "Cursor",
"type": "string"
},
"signature": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Solana transaction signature when reported by the decoder.",
"title": "Signature"
},
"mint": {
"description": "Traded token mint address; quote asset is SOL for this feed.",
"title": "Mint",
"type": "string"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Decoder-reported trader public key, if available.",
"title": "Wallet"
},
"side": {
"description": "buy or sell relative to the traded token.",
"title": "Side",
"type": "string"
},
"token_amount": {
"description": "Absolute decoded token amount in token units, with decoder_float precision.",
"title": "Token Amount",
"type": "number"
},
"quote_amount": {
"description": "Absolute SOL amount in SOL units, not lamports.",
"title": "Quote Amount",
"type": "number"
},
"price_sol": {
"description": "Decoded price in SOL per token after PumpView price filtering.",
"title": "Price Sol",
"type": "number"
},
"slot": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Solana slot if available from the source.",
"title": "Slot"
},
"dex": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Decoder-reported decentralized exchange identifier.",
"title": "Dex"
}
},
"title": "TradeEvent",
"type": "object"
}
},
"additionalProperties": true,
"title": "RecentTradesOutput"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_access_statusArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"grants": {
"description": "Unexpired packages: id, plan, expires (Unix seconds), remaining credits (-1 means unlimited), max_filters and max_connections. Empty means no unexpired grant.",
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Grants",
"type": "array"
},
"http_rate_limit": {
"additionalProperties": true,
"description": "requests_per_second, scope=account, shared_with_mcp=true. The allowance is shared by all keys and HTTP/MCP calls.",
"title": "Http Rate Limit",
"type": "object"
},
"source": {
"additionalProperties": true,
"description": "Current local feed health: connected/source_connected, last_message_age_seconds, cursor, dropped-event and replay-gap counters.",
"title": "Source",
"type": "object"
}
},
"required": [
"grants",
"http_rate_limit",
"source"
],
"additionalProperties": true,
"title": "AccessOutput"
}🟡get_payment_instructions(plan)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"plan": {
"description": "Exact data-package id from list_data_plans. Current ids: day (Day Pass), starter (Starter), builder (Unlimited). Use the id, not the display name; confirm current price and availability first.",
"examples": [
"builder"
],
"maxLength": 40,
"title": "Plan",
"type": "string"
}
},
"required": [
"plan"
],
"title": "get_payment_instructionsArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"description": "Invoice ID for prepare_invoice_payment, get_invoice_status and confirm_invoice_payment.",
"title": "Id",
"type": "string"
},
"payer": {
"description": "Linked Solana wallet that must authorize payment.",
"title": "Payer",
"type": "string"
},
"recipient": {
"description": "Public payment recipient to verify before signing.",
"title": "Recipient",
"type": "string"
},
"mint": {
"description": "Native Solana USDC mint address required for this payment.",
"title": "Mint",
"type": "string"
},
"amount": {
"description": "Exact invoice amount in USDC atomic units; divide by 10^decimals for USDC.",
"title": "Amount",
"type": "integer"
},
"decimals": {
"description": "USDC decimals: 6.",
"title": "Decimals",
"type": "integer"
},
"plan": {
"description": "Selected plan ID from the current public plan catalog.",
"title": "Plan",
"type": "string"
},
"created": {
"description": "Invoice creation time as Unix seconds.",
"title": "Created",
"type": "integer"
},
"expires": {
"description": "Invoice expiry as Unix seconds; do not pay an expired invoice.",
"title": "Expires",
"type": "integer"
},
"memo": {
"description": "Exact payment memo binding the transaction to this invoice.",
"title": "Memo",
"type": "string"
},
"network": {
"description": "Required payment network: solana-mainnet.",
"title": "Network",
"type": "string"
},
"payment_protocol": {
"description": "Payment workflow identifier: pumpview-invoice-v1.",
"title": "Payment Protocol",
"type": "string"
},
"paid": {
"description": "Whether the invoice has been settled. A newly created invoice is unpaid.",
"title": "Paid",
"type": "boolean"
}
},
"required": [
"id",
"payer",
"recipient",
"mint",
"amount",
"decimals",
"plan",
"created",
"expires",
"memo",
"network",
"payment_protocol",
"paid"
],
"additionalProperties": true,
"title": "InvoiceOutput"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "list_data_plansArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"plans": {
"description": "Currently configured prepaid data packages and exact prices.",
"items": {
"$ref": "#/$defs/Plan"
},
"title": "Plans",
"type": "array"
},
"sales_enabled": {
"description": "Whether new data-package invoices can currently be created.",
"title": "Sales Enabled",
"type": "boolean"
},
"currency": {
"description": "Payment currency: native Solana USDC, 6 decimals.",
"title": "Currency",
"type": "string"
},
"network": {
"description": "Payment network, Solana mainnet.",
"title": "Network",
"type": "string"
},
"unit": {
"description": "How delivered events and empty queries consume credits.",
"title": "Unit",
"type": "string"
},
"payment_protocol": {
"description": "PumpView invoice protocol, no Coinbase dependency.",
"title": "Payment Protocol",
"type": "string"
},
"base_url": {
"description": "Public API origin for optional HTTP access.",
"title": "Base Url",
"type": "string"
}
},
"required": [
"plans",
"sales_enabled",
"currency",
"network",
"unit",
"payment_protocol",
"base_url"
],
"$defs": {
"Plan": {
"additionalProperties": true,
"properties": {
"id": {
"description": "Exact plan identifier accepted by get_payment_instructions.",
"title": "Id",
"type": "string"
},
"name": {
"description": "Display name, not an identifier.",
"title": "Name",
"type": "string"
},
"amount": {
"description": "Price in USDC atomic units (6 decimals); 49000000 means 49 USDC.",
"title": "Amount",
"type": "integer"
},
"days": {
"description": "Access duration from payment activation, in days. No auto-renewal.",
"title": "Days",
"type": "integer"
},
"credits": {
"description": "Delivered-trade allowance; -1 means Unlimited. Key budgets still apply.",
"title": "Credits",
"type": "integer"
},
"max_filters": {
"description": "Maximum combined mint, wallet and DEX filter entries.",
"title": "Max Filters",
"type": "integer"
},
"max_connections": {
"description": "Concurrent WSS connections per account across all keys, currently 1.",
"title": "Max Connections",
"type": "integer"
},
"http_rps": {
"description": "HTTP and authenticated MCP requests per second shared by account keys.",
"title": "Http Rps",
"type": "integer"
}
},
"required": [
"id",
"name",
"amount",
"days",
"credits",
"max_filters",
"max_connections",
"http_rps"
],
"title": "Plan",
"type": "object"
}
},
"additionalProperties": true,
"title": "PlansOutput"
}🟢get_invoice_status(invoice_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"invoice_id": {
"description": "Invoice id returned by get_payment_instructions for this API-key account. Not a swap id or Solana transaction signature.",
"examples": [
"0123456789abcdef0123456789abcdef"
],
"pattern": "^[0-9a-f]{32}$",
"title": "Invoice Id",
"type": "string"
}
},
"required": [
"invoice_id"
],
"title": "get_invoice_statusArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"description": "Invoice ID for prepare_invoice_payment, get_invoice_status and confirm_invoice_payment.",
"title": "Id",
"type": "string"
},
"payer": {
"description": "Linked Solana wallet that must authorize payment.",
"title": "Payer",
"type": "string"
},
"recipient": {
"description": "Public payment recipient to verify before signing.",
"title": "Recipient",
"type": "string"
},
"mint": {
"description": "Native Solana USDC mint address required for this payment.",
"title": "Mint",
"type": "string"
},
"amount": {
"description": "Exact invoice amount in USDC atomic units; divide by 10^decimals for USDC.",
"title": "Amount",
"type": "integer"
},
"decimals": {
"description": "USDC decimals: 6.",
"title": "Decimals",
"type": "integer"
},
"plan": {
"description": "Selected plan ID from the current public plan catalog.",
"title": "Plan",
"type": "string"
},
"created": {
"description": "Invoice creation time as Unix seconds.",
"title": "Created",
"type": "integer"
},
"expires": {
"description": "Invoice expiry as Unix seconds; do not pay an expired invoice.",
"title": "Expires",
"type": "integer"
},
"memo": {
"description": "Exact payment memo binding the transaction to this invoice.",
"title": "Memo",
"type": "string"
},
"network": {
"description": "Required payment network: solana-mainnet.",
"title": "Network",
"type": "string"
},
"payment_protocol": {
"description": "Payment workflow identifier: pumpview-invoice-v1.",
"title": "Payment Protocol",
"type": "string"
},
"paid": {
"description": "Whether the invoice has been settled. A newly created invoice is unpaid.",
"title": "Paid",
"type": "boolean"
}
},
"required": [
"id",
"payer",
"recipient",
"mint",
"amount",
"decimals",
"plan",
"created",
"expires",
"memo",
"network",
"payment_protocol",
"paid"
],
"additionalProperties": true,
"title": "InvoiceOutput"
}🟢prepare_invoice_payment(invoice_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"invoice_id": {
"description": "Invoice id returned by get_payment_instructions for this API-key account. Not a swap id or Solana transaction signature.",
"examples": [
"0123456789abcdef0123456789abcdef"
],
"pattern": "^[0-9a-f]{32}$",
"title": "Invoice Id",
"type": "string"
}
},
"required": [
"invoice_id"
],
"title": "prepare_invoice_paymentArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"transaction_base64": {
"description": "Unsigned legacy Solana transaction. Review payer, recipient, exact USDC amount and invoice memo before local wallet signing and broadcast. Never submit through submit_swap.",
"title": "Transaction Base64",
"type": "string"
},
"last_valid_block_height": {
"description": "Block-height expiry of this transaction. Invoice expiry must also be respected. After expiry, check the prior signature before preparing another payment.",
"title": "Last Valid Block Height",
"type": "integer"
}
},
"required": [
"transaction_base64",
"last_valid_block_height"
],
"additionalProperties": true,
"title": "InvoiceTransactionOutput"
}🟢confirm_invoice_payment(invoice_id, signature)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"invoice_id": {
"description": "Invoice id returned by get_payment_instructions for this API-key account. Not a swap id or Solana transaction signature.",
"examples": [
"0123456789abcdef0123456789abcdef"
],
"pattern": "^[0-9a-f]{32}$",
"title": "Invoice Id",
"type": "string"
},
"signature": {
"description": "Base58 Solana transaction signature returned by your wallet after broadcasting this invoice payment. Not a signed transaction, wallet-login signature or private key.",
"maxLength": 100,
"minLength": 80,
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"title": "Signature",
"type": "string"
}
},
"required": [
"invoice_id",
"signature"
],
"title": "confirm_invoice_paymentArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"paid": {
"description": "True once matching finalized payment is verified and the package has been activated.",
"title": "Paid",
"type": "boolean"
},
"invoice_id": {
"description": "Settled invoice ID. Reconfirming the same signature never grants access twice.",
"title": "Invoice Id",
"type": "string"
}
},
"required": [
"paid",
"invoice_id"
],
"additionalProperties": true,
"title": "InvoiceConfirmationOutput"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"title": "get_stream_connectionArguments"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "WSS endpoint to open in the caller runtime.",
"title": "Url",
"type": "string"
},
"authentication": {
"description": "Handshake header template. Supply your own API key; the response never echoes the secret.",
"title": "Authentication",
"type": "string"
},
"first_message": {
"additionalProperties": true,
"description": "Initial JSON subscription message. Customize filters.mints/wallets and filters.after as documented.",
"title": "First Message",
"type": "object"
},
"resume": {
"description": "How to resume with the last received cursor. An expired cursor requires a fresh snapshot.",
"title": "Resume",
"type": "string"
}
},
"required": [
"url",
"authentication",
"first_message",
"resume"
],
"additionalProperties": true,
"title": "StreamConnectionOutput"
}Community
Nachweis