Appearance
API Overview
GoonPad provides a RESTful API and WebSocket interface for accessing platform data and building integrations.
Base URL
Production: https://api.goonpad.dev
Devnet: https://goonpad-api-8fgn3.ondigitalocean.appAuthentication
Currently, all API endpoints are public and require no authentication.
Future versions may introduce API keys for rate limiting and premium features.
Rate Limiting
Currently no rate limits. Fair use policy applies - don't abuse the API.
Recommendations:
- Cache responses when possible
- Use WebSockets for real-time data instead of polling
- Max 100 requests per minute per IP
Response Format
All responses follow this structure:
Success Response
json
{
"success": true,
"data": {
// Response data here
},
"source": "cache"
}Note: The source field indicates whether data came from cache or RPC. Possible values:
cache- Data from real-time WebSocket cache (instant, no RPC call)rpc- Data fetched directly from Solana RPC (happens on startup or cache miss)
Error Response
json
{
"success": false,
"error": "Error description",
"message": "Human-readable error message"
}Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limited |
| 500 | Internal Server Error |
| 503 | Service Unavailable - RPC issues |
Available APIs
REST API
Real-time API
- WebSocket - Live updates via WebSocket
Quick Start
Fetch All Tokens
bash
curl https://api.goonpad.dev/api/tokensjavascript
const response = await fetch('https://api.goonpad.dev/api/tokens')
const { data } = await response.json()
console.log(`Found ${data.length} tokens`)Get Token Details
bash
curl https://api.goonpad.dev/api/tokens/YOUR_TOKEN_ADDRESSjavascript
const address = 'YOUR_TOKEN_ADDRESS'
const response = await fetch(`https://api.goonpad.dev/api/tokens/${address}`)
const { data } = await response.json()
console.log(`${data.name} (${data.symbol})`)
console.log(`Market Cap: ${data.marketCap} SOL`)Connect to WebSocket
javascript
import { io } from 'socket.io-client'
const socket = io('https://api.goonpad.dev')
socket.on('connect', () => {
console.log('Connected to GoonPad')
// Subscribe to token updates
socket.emit('subscribe', 'tokens')
})
socket.on('tokens:update', (data) => {
console.log('Token updates:', data)
})Use Cases
Trading Bots
- Monitor token prices
- Execute automated trades
- Track graduations
Portfolio Trackers
- Fetch user token holdings
- Calculate portfolio value
- Track P&L
Analytics Dashboards
- Display platform statistics
- Show trending tokens
- Visualize market data
Discord/Telegram Bots
- Token price notifications
- Graduation alerts
- New token announcements
SDKs and Libraries
Currently no official SDKs, but the API is simple REST/WebSocket.
Community Libraries:
- Coming soon!
Want to build an SDK? Let us know!
Support
Questions about the API?
- Check Examples
- Read Troubleshooting
- Review endpoint docs
Next Steps
- REST Endpoints - Full endpoint reference
- WebSocket API - Real-time updates
- Examples - Code samples
Start building! The API is free and open for everyone.