install
source · Clone the upstream repo
git clone https://github.com/sendaifun/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sendaifun/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sol-incinerator" ~/.claude/skills/sendaifun-skills-sol-incinerator && rm -rf "$T"
manifest:
skills/sol-incinerator/SKILL.mdsource content
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 | , , , , |
| Public auth bootstrap | |
| Burn + close (API key required) | , , , , |
| Relay + confirmation (API key required) | , , |
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
, or/close
./batch/close-all - Decode base58 serialized transaction(s) and sign locally with the wallet keypair.
- Submit through your wallet/RPC flow, or use
and/transactions/send
./transactions/send-batch - Poll
if needed./transactions/status
Core Integration Rules
Auth
- Send API key in either:
(recommended for server agents)x-api-key: ak_xxx.yyyAuthorization: Bearer ak_xxx.yyy
- Core routes return
when key is missing or invalid.401
Required body fields
- Single-asset routes (
,/burn
, previews, instructions):/closeuserPublicKeyassetId
- Batch routes (
):/batch/close-all*userPublicKey
Optional body fields used often
(public key)feePayer
(boolean)asLegacyTransaction
(integer)priorityFeeMicroLamports
(boolean, burn flows)autoCloseTokenAccounts
(positive integer in atomic units; use string for large values)burnAmount
,offset
(batch pagination/windowing)limit
Partner + referral validation
andpartnerFeeAccount
are all-or-nothing.partnerFeeBps
must be integerpartnerFeeBps
.0..9800
must bereferralCode
lowercase alphanumeric.2-20
cannot be combined with partner fee fields.referralCode
Endpoint Selection
- Use
or/burn/preview
before execution when:/close/preview- the user needs fee visibility
- assets may be frozen/invalid/non-empty
- Use
and/burn
when:/close- you want ready-to-sign transaction payloads
- Use
and/burn-instructions
when:/close-instructions- your app assembles transactions client-side
- Use
first for wallet cleanup UX/batch/close-all/preview - Use
for lightweight dashboard counts/batch/close-all/summary - Use
for multi-tx close-all pipelines/transactions/send-batch
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
as a string for large atomic values.burnAmount - DO validate user/asset pubkeys before submitting.
- DO keep private keys local; only send signed transactions to relay endpoints.
- DON'T combine
with partner fee fields.referralCode - DON'T send unsigned payloads to relay routes.
- DON'T assume base64 encoding for relay payloads unless explicitly set
(default is base58).encoding: "base64"
Resources
- Canonical docs (v2)
- OpenAPI spec (
)/openapi.json - LLM index (
)/llms.txt - Example flows (close account, burn token, burn NFT)
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