API Overview
The Etch API is a RESTful JSON API for launching tokens on Solana.
Base URL
https://etch.film.fun/apiFor testing, use the devnet endpoint:
https://etch.film.fun/apiAuthentication
All API requests require a Bearer token:
curl -H "Authorization: Bearer etch_sk_live_xxxxx" \
https://etch.film.fun/api/launchSee Authentication for details on obtaining and managing API keys.
Rate Limits
| Plan | Requests/min | Launches/day |
|---|---|---|
| Free | 60 | 5 |
| Pro | 300 | 50 |
| Enterprise | Unlimited | Unlimited |
Rate limit headers are included in all responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1700000000Endpoints
Launch
| Method | Endpoint | Description |
|---|---|---|
POST | /launch | Create a new token launch |
GET | /launch/:id | Get launch status |
GET | /launches | List all launches |
Vesting
| Method | Endpoint | Description |
|---|---|---|
GET | /vesting/:contract | Get vesting status |
POST | /vesting/:contract/claim | Claim unlocked tokens |
DAO
| Method | Endpoint | Description |
|---|---|---|
GET | /dao/:realm | Get DAO info |
POST | /dao/:realm/proposal | Create proposal |
POST | /dao/:realm/vote | Cast vote |
Fees
| Method | Endpoint | Description |
|---|---|---|
GET | /fees/:mint | Get accumulated fees |
POST | /fees/:mint/claim | Claim LP fees |
Health & Monitoring
| Method | Endpoint | Description |
|---|---|---|
GET | /health | Full health check with diagnostics |
HEAD | /health | Simple uptime check |
See Health & Monitoring for details.
Error Handling
Errors return standard HTTP status codes with a JSON body:
{
"error": {
"code": "invalid_request",
"message": "The 'ticker' field is required",
"field": "ticker"
}
}Common Error Codes
| Code | Description |
|---|---|
invalid_request | Malformed request body |
unauthorized | Invalid or missing API key |
insufficient_balance | Not enough SOL for transaction |
rate_limited | Too many requests |
launch_failed | Token launch failed on-chain |
SDKs
Official SDKs are coming soon:
- TypeScript/JavaScript
- Python
- Rust
For now, use the REST API directly or see our examples repository .
Last updated on