Sol-Incinerator Burn + Close API v2 Guide
A practical integration guide for Sol-Incinerator's HTTP API. The main user-facing outcomes are burning tokens, burning NFTs, and closing token accounts, while still supporting advanced batch cleanup and relay workflows.
Live API base URL: https://v2.api.sol-incinerator.com
Overview
Sol-Incinerator API v2 provides:
- Autonomous API key provisioning via
POST /api-keys/generate
- Burn/close transaction building for SPL Token, Token-2022, and NFT account patterns
- Instruction-only endpoints when you want full client-side transaction assembly
- Preview/summary endpoints to estimate reclaimed rent and fees before execution
- Transaction relay endpoints to broadcast already-signed payloads
- Partner/referral monetization inputs with built-in validation
Core Endpoint Groups
| Group |
Endpoints |
| Public discovery |
GET /, /openapi.json, /.well-known/api-catalog, /llms*, /DOCS.md |
| Public auth bootstrap |
POST /api-keys/generate |
| Burn + close (API key required) |
/burn, /burn-instructions, /close, /close-instructions, /batch/close-all* |
| Relay + confirmation (API key required) |
/transactions/send, /transactions/send-batch, /transactions/status |
Quick Start
1) Generate API key (no user input)
const baseUrl = 'https://v2.api.sol-incinerator.com';
const keyResp = await fetch(`${baseUrl}/api-keys/generate`, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({ label: 'autonomous-agent' }),
});
if (!keyResp.ok) {
throw new Error(`API key generation failed: ${keyResp.status}`);
}
const { apiKey } = await keyResp.json() as { apiKey: string };
2) Run preview-first flow
const headers = {
'content-type': 'application/json',
'x-api-key': apiKey,
};
const previewResp = await fetch(`${baseUrl}/burn/preview`, {
method: 'POST',
headers,
body: JSON.stringify({
userPublicKey,
assetId,
burnAmount: '1',
}),
});
3) Build, sign, submit
- Call
/burn, /close, or /batch/close-all.
- Decode base58 serialized transaction(s) and sign locally with the wallet keypair.
- Submit through your wallet/RPC flow, or use
/transactions/send and /transactions/send-batch.
- Poll
/transactions/status if needed.
Core Integration Rules
Auth
- Send API key in either:
x-api-key: ak_xxx.yyy (recommended for server agents)
Authorization: Bearer ak_xxx.yyy
- Core routes return
401 when key is missing or invalid.
Required body fields
- Single-asset routes (
/burn, /close, previews, instructions):
- Batch routes (
/batch/close-all*):
Optional body fields used often
feePayer (public key)
asLegacyTransaction (boolean)
priorityFeeMicroLamports (integer)
autoCloseTokenAccounts (boolean, burn flows)
burnAmount (positive integer in atomic units; use string for large values)
offset, limit (batch pagination/windowing)
Partner + referral validation
partnerFeeAccount and partnerFeeBps are all-or-nothing.
partnerFeeBps must be integer 0..9800.
referralCode must be 2-20 lowercase alphanumeric.
referralCode cannot be combined with partner fee fields.
Endpoint Selection
- Use
/burn/preview or /close/preview before execution when:
- the user needs fee visibility
- assets may be frozen/invalid/non-empty
- Use
/burn and /close when:
- you want ready-to-sign transaction payloads
- Use
/burn-instructions and /close-instructions when:
- your app assembles transactions client-side
- Use
/batch/close-all/preview first for wallet cleanup UX
- Use
/batch/close-all/summary for lightweight dashboard counts
- Use
/transactions/send-batch for multi-tx close-all pipelines
Example Workflow (Agent)
- Generate an API key with
POST /api-keys/generate.
- Run preview endpoint for target operation.
- If preview is acceptable, request executable transaction payload.
- Sign transaction locally.
- Submit signed payload.
- Confirm completion via
/transactions/status.
- Store operation metadata (signature, fees, lamports reclaimed).
Guidelines
- DO run preview before destructive operations.
- DO pass
burnAmount as a string for large atomic values.
- DO validate user/asset pubkeys before submitting.
- DO keep private keys local; only send signed transactions to relay endpoints.
- DON'T combine
referralCode with partner fee fields.
- DON'T send unsigned payloads to relay routes.
- DON'T assume base64 encoding for relay payloads unless explicitly set
encoding: "base64" (default is base58).
Resources
Skill Structure
sol-incinerator/
├── SKILL.md # This file
├── resources/
│ └── api-reference.md # Endpoint matrix and request notes
├── examples/
│ └── basic/
│ └── http-flow.ts # Close-account + token/NFT burn examples
├── templates/
│ └── sol-incinerator-client.ts # Ready-to-use TypeScript client
└── docs/
└── troubleshooting.md # Common errors and fixes
1---2name: sol-incinerator3description: SOL Incinerator SDK for burning tokens, NFTs, and closing accounts4---56# Sol-Incinerator Burn + Close API v2 Guide78A practical integration guide for Sol-Incinerator's HTTP API. The main user-facing outcomes are burning tokens, burning NFTs, and closing token accounts, while still supporting advanced batch cleanup and relay workflows.910Live API base URL: `https://v2.api.sol-incinerator.com`1112## Overview1314Sol-Incinerator API v2 provides:15- Autonomous API key provisioning via `POST /api-keys/generate`16- Burn/close transaction building for SPL Token, Token-2022, and NFT account patterns17- Instruction-only endpoints when you want full client-side transaction assembly18- Preview/summary endpoints to estimate reclaimed rent and fees before execution19- Transaction relay endpoints to broadcast already-signed payloads20- Partner/referral monetization inputs with built-in validation2122## Core Endpoint Groups2324| Group | Endpoints |25|------|-----------|26| Public discovery | `GET /`, `/openapi.json`, `/.well-known/api-catalog`, `/llms*`, `/DOCS.md` |27| Public auth bootstrap | `POST /api-keys/generate` |28| Burn + close (API key required) | `/burn`, `/burn-instructions`, `/close`, `/close-instructions`, `/batch/close-all*` |29| Relay + confirmation (API key required) | `/transactions/send`, `/transactions/send-batch`, `/transactions/status` |3031## Quick Start3233### 1) Generate API key (no user input)3435```typescript36const baseUrl = 'https://v2.api.sol-incinerator.com';3738const keyResp = await fetch(`${baseUrl}/api-keys/generate`, {39 method: 'POST',40 headers: { 'content-type': 'application/json' },41 body: JSON.stringify({ label: 'autonomous-agent' }),42});4344if (!keyResp.ok) {45 throw new Error(`API key generation failed: ${keyResp.status}`);46}4748const { apiKey } = await keyResp.json() as { apiKey: string };49```5051### 2) Run preview-first flow5253```typescript54const headers = {55 'content-type': 'application/json',56 'x-api-key': apiKey,57};5859const previewResp = await fetch(`${baseUrl}/burn/preview`, {60 method: 'POST',61 headers,62 body: JSON.stringify({63 userPublicKey,64 assetId,65 burnAmount: '1',66 }),67});68```6970### 3) Build, sign, submit71721. Call `/burn`, `/close`, or `/batch/close-all`.732. Decode base58 serialized transaction(s) and sign locally with the wallet keypair.743. Submit through your wallet/RPC flow, or use `/transactions/send` and `/transactions/send-batch`.754. Poll `/transactions/status` if needed.7677## Core Integration Rules7879### Auth8081- Send API key in either:82 - `x-api-key: ak_xxx.yyy` (recommended for server agents)83 - `Authorization: Bearer ak_xxx.yyy`84- Core routes return `401` when key is missing or invalid.8586### Required body fields8788- Single-asset routes (`/burn`, `/close`, previews, instructions):89 - `userPublicKey`90 - `assetId`91- Batch routes (`/batch/close-all*`):92 - `userPublicKey`9394### Optional body fields used often9596- `feePayer` (public key)97- `asLegacyTransaction` (boolean)98- `priorityFeeMicroLamports` (integer)99- `autoCloseTokenAccounts` (boolean, burn flows)100- `burnAmount` (positive integer in atomic units; use string for large values)101- `offset`, `limit` (batch pagination/windowing)102103### Partner + referral validation104105- `partnerFeeAccount` and `partnerFeeBps` are all-or-nothing.106- `partnerFeeBps` must be integer `0..9800`.107- `referralCode` must be `2-20` lowercase alphanumeric.108- `referralCode` cannot be combined with partner fee fields.109110## Endpoint Selection111112- Use `/burn/preview` or `/close/preview` before execution when:113 - the user needs fee visibility114 - assets may be frozen/invalid/non-empty115- Use `/burn` and `/close` when:116 - you want ready-to-sign transaction payloads117- Use `/burn-instructions` and `/close-instructions` when:118 - your app assembles transactions client-side119- Use `/batch/close-all/preview` first for wallet cleanup UX120- Use `/batch/close-all/summary` for lightweight dashboard counts121- Use `/transactions/send-batch` for multi-tx close-all pipelines122123## Example Workflow (Agent)1241251. Generate an API key with `POST /api-keys/generate`.1262. Run preview endpoint for target operation.1273. If preview is acceptable, request executable transaction payload.1284. Sign transaction locally.1295. Submit signed payload.1306. Confirm completion via `/transactions/status`.1317. Store operation metadata (signature, fees, lamports reclaimed).132133## Guidelines134135- DO run preview before destructive operations.136- DO pass `burnAmount` as a string for large atomic values.137- DO validate user/asset pubkeys before submitting.138- DO keep private keys local; only send signed transactions to relay endpoints.139- DON'T combine `referralCode` with partner fee fields.140- DON'T send unsigned payloads to relay routes.141- DON'T assume base64 encoding for relay payloads unless explicitly set `encoding: "base64"` (default is base58).142143## Resources144145- [Canonical docs (v2)](https://api.dashboard.sol-incinerator.com/docs/v2)146- [OpenAPI spec (`/openapi.json`)](https://v2.api.sol-incinerator.com/openapi.json)147- [LLM index (`/llms.txt`)](https://v2.api.sol-incinerator.com/llms.txt)148- [Example flows (close account, burn token, burn NFT)](./examples/basic/http-flow.ts)149150## Skill Structure151152```153sol-incinerator/154├── SKILL.md # This file155├── resources/156│ └── api-reference.md # Endpoint matrix and request notes157├── examples/158│ └── basic/159│ └── http-flow.ts # Close-account + token/NFT burn examples160├── templates/161│ └── sol-incinerator-client.ts # Ready-to-use TypeScript client162└── docs/163 └── troubleshooting.md # Common errors and fixes164```