Core burn, close, batch, and transaction relay endpoints require x-api-key (or Authorization bearer). Public routes include GET /, POST /api-keys/generate, and discovery/docs endpoints like /openapi.json. MCP OAuth metadata/endpoints are also public (/.well-known/oauth-*, /register, /oauth/authorize, /oauth/token).
Required Header
http
x-api-key: YOUR_API_KEY
Burn Endpoints
Burn tokens and NFTs. Supports SPL tokens, Token-2022, Metaplex NFTs, editions, pNFTs, and MPL Core assets.
POST/burn
Build a serialized burn transaction for the user to sign and send.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Mint address or token account address. For mint input, the API resolves to exactly one owned token account when required.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
autoCloseTokenAccounts
boolean
No
true
When true, automatically closes the associated token accounts after burning, reclaiming their rent.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
burnAmount
string | number
No
all tokens
The amount of tokens to burn. When omitted, the entire token balance is burned.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Serialized transaction for the user to sign and send.
lamportsReclaimed
integer
Lamports reclaimed from closed token accounts.
solanaReclaimed
number
SOL equivalent of lamportsReclaimed.
transactionType
string
Operation type: TOKEN_BURN, METAPLEX_BURN, TOKEN_2022_BURN, METAPLEX_CORE_BURN, etc.
isDestructiveAction
boolean
True if the operation destroys an asset with potential market value.
POST/burn/preview
Preview fees, reclaim amounts, and asset info before signing a burn transaction.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Mint address or token account address. For mint input, the API resolves to exactly one owned token account when required.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
autoCloseTokenAccounts
boolean
No
true
When true, automatically closes the associated token accounts after burning, reclaiming their rent.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
burnAmount
string | number
No
all tokens
The amount of tokens to burn. When omitted, the entire token balance is burned.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Operation type: METAPLEX_BURN, TOKEN_BURN, TOKEN_2022_BURN, etc.
lamportsReclaimed
integer
Estimated lamports to reclaim.
solanaReclaimed
number
SOL equivalent of lamportsReclaimed.
isDestructiveAction
boolean
True if the operation would destroy an asset with potential value.
assetInfo
object
Asset details including tokenAccount, mintAddress, programId, isMetaplexNFT, isProgrammableNFT, tokenStandard, frozen, and tokenBalance.
feeBreakdown
object
Breakdown of fees: totalFee, optional partnerFee, and rentReclaimed per account type (tokenAccount, metadata, edition, tokenRecord).
POST/burn-instructions
Return raw serialized instructions without wrapping them in a full transaction.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Mint address or token account address. For mint input, the API resolves to exactly one owned token account when required.
autoCloseTokenAccounts
boolean
No
true
When true, automatically closes the associated token accounts after burning, reclaiming their rent.
burnAmount
string | number
No
all tokens
The amount of tokens to burn. When omitted, the entire token balance is burned.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Serialized instructions to add to your own transaction.
lamportsReclaimed
integer
Lamports reclaimed from closed accounts.
solanaReclaimed
number
SOL equivalent of lamportsReclaimed.
instructionType
string
Operation type: METAPLEX_BURN, TOKEN_BURN, TOKEN_2022_BURN, etc.
isDestructiveAction
boolean
True if the operation destroys an asset with potential value.
computeUnitsRequired
integer
Estimated compute units needed for the instructions.
Close Endpoints
Close empty or zero-balance token accounts to reclaim rent.
POST/close
Build a close-account transaction to reclaim rent from an empty token account.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Token account (preferred) or mint address that resolves to exactly one owned token account.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Serialized transaction for the user to sign and send.
lamportsReclaimed
integer
Rent reclaimed from the closed token account.
solanaReclaimed
number
SOL equivalent of lamportsReclaimed.
transactionType
string
TOKEN_CLOSE or TOKEN_2022_CLOSE depending on the token program.
isDestructiveAction
boolean
Always false for close operations.
POST/close/preview
Preview close outcome and fee split before signing.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Token account (preferred) or mint address that resolves to exactly one owned token account.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Breakdown of fees: totalFee, optional partnerFee, and rentReclaimed.tokenAccount.
POST/close-instructions
Return raw serialized close instructions without wrapping them in a full transaction.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
assetId
string (base58)
Yes
-
Token account (preferred) or mint address that resolves to exactly one owned token account.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Serialized close instructions to add to your own transaction.
lamportsReclaimed
integer
Rent reclaimed from the closed account.
solanaReclaimed
number
SOL equivalent of lamportsReclaimed.
instructionType
string
TOKEN_CLOSE or TOKEN_2022_CLOSE depending on the token program.
isDestructiveAction
boolean
Always false for close operations.
computeUnitsRequired
integer
Estimated compute units needed.
Batch Endpoints
Close all empty accounts for a wallet in one call. Supports pagination via offset/limit.
POST/batch/close-all
Close empty token accounts for a wallet. Returns one or more base58 transactions (or an empty array for preview-only API keys).
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
offset
integer (>= 0)
No
0
Number of token accounts to skip before processing. Used for pagination.
limit
integer (1-5000)
No
500
Maximum number of token accounts to include in a single batch. Range: 1-5000.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Array of base58-serialized transactions for the user to sign and send.
accountsClosed
integer
Number of token accounts closed in this batch.
totalLamportsReclaimed
integer
Total lamports reclaimed across all accounts.
totalSolanaReclaimed
number
SOL equivalent of totalLamportsReclaimed.
hasDestructiveActions
boolean
Always false for close-account operations.
totalAccountsFound
integer
Total empty accounts discovered for this wallet.
truncated
boolean
True if results were limited by the limit parameter.
nextOffset
integer
Offset to use for the next page when truncated is true. Omitted when not truncated.
POST/batch/close-all/preview
Preview the outcome of a batch close-all operation before signing.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
offset
integer (>= 0)
No
0
Number of token accounts to skip before processing. Used for pagination.
limit
integer (1-1000)
No
500
Maximum number of token accounts to preview. Range: 1-1000.
feePayer
string (base58)
No
userPublicKey
Public key of the account that pays transaction fees. Defaults to the userPublicKey when omitted.
priorityFeeMicroLamports
integer
No
auto-estimated
Priority fee in micro-lamports to include with the transaction. When omitted the API auto-estimates an appropriate value.
asLegacyTransaction
boolean
No
false
When true, returns a legacy transaction instead of a versioned (v0) transaction.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Per-account preview with assetId, transactionType, lamports/SOL reclaimed, and destruction flag.
accountsPreviewed
integer
Number of accounts included in the preview.
accountsToClose
integer
Number of accounts included in this preview page.
totalAccountsFound
integer
Total empty accounts discovered for this wallet.
totalLamportsReclaimed
integer
Total lamports reclaimable across all previewed accounts.
totalSolanaReclaimed
number
SOL equivalent of totalLamportsReclaimed.
estimatedTransactions
integer
Estimated number of transactions needed for the accounts returned in this preview page.
hasDestructiveActions
boolean
Always false for close-account operations.
summary
object
Breakdown by account type: standardTokenAccounts and token2022Accounts.
truncated
boolean
True if results were limited by the limit parameter.
nextOffset
integer
Offset to use for the next page when truncated is true. Omitted when not truncated.
POST/batch/close-all/summary
Fast count of closeable accounts and total reclaimable SOL without building transactions. Scans all empty accounts regardless of limit.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
Total lamports reclaimable across all empty accounts.
totalSolanaReclaimable
number
SOL equivalent of totalLamportsReclaimable.
summary
object
Breakdown by account type (standardTokenAccounts, token2022Accounts).
POST/batch/close-all-instructions
Return raw serialized instructions for a batch close-all operation.
Parameter
Type
Required
Default
Description
userPublicKey
string (base58)
Yes
-
The wallet public key of the user initiating the action.
offset
integer (>= 0)
No
0
Number of token accounts to skip before processing. Used for pagination.
limit
integer (1-5000)
No
500
Maximum number of token accounts to include in a single batch. Range: 1-5000.
partnerFeeAccount
string (base58)
No
-
Public key of the partner account that receives a share of the reclaimed SOL. Must be provided together with partnerFeeBps.
partnerFeeBps
integer (0-9800)
No
-
Fee share in basis points (0-9800) directed to the partnerFeeAccount. Must be provided together with partnerFeeAccount.
referralCode
string
No
-
2-20 lowercase alphanumeric characters. Accepted on all core burn/close POST endpoints (including preview/summary). Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used another referral code, the API will not reassign it. Create and claim rewards at https://sol-incinerator.com/rewards. Mutually exclusive with partnerFeeAccount/partnerFeeBps.
{"sentCount":2,"failedCount":1,"results":[{"index":0,"sent":true,"signature":"2v9..."},{"index":1,"sent":true,"signature":"9Qa..."},{"index":2,"sent":false,"error":"blockhash not found"}]}
Field
Type
Description
sentCount
integer
How many transactions were accepted by RPC.
failedCount
integer
How many transactions failed to submit.
results
array
Per-index send result with signature or error details.
POST/transactions/status
Lookup confirmation status and errors for a transaction signature.
Parameter
Type
Required
Default
Description
signature
string
Yes
-
Transaction signature to look up.
searchTransactionHistory
boolean
No
true
Whether to include rooted history in signature status lookup.
User receives2,039,280 − 40,785 − 30,589 = 1,967,906
Referral Code System
Use referralCode on burn/close requests to apply a referral code. Referrers earn 20% of a referred wallet's future protocol fees for life. Create a code and claim rewards on https://sol-incinerator.com/rewards.
Send referralCode in burn/close requests to count activity toward that referral code. Referrers receive 20% of future protocol fees from referred wallets for life. If a wallet already used a different referral code, the API will not reassign it to your code. Rewards are managed at https://sol-incinerator.com/rewards.
Referral + Partner Parameters
These two monetization approaches are mutually exclusive. The API rejects requests that include both partnerFeeAccount/partnerFeeBps and referralCode with a 400 error.
Partner Fees
Direct cut of reclaimable rent at a rate you control. Funds go to your partner account on-chain in the same transaction.
Referral Codes
Use referralCode to apply a referral code and earn 20% of future protocol fees for life. Existing referred wallets are not reassigned to a new code. Create and claim rewards on sol-incinerator.com/rewards.
Errors & Rate Limits
HTTP status codes and rate limiting behavior.
Status
Meaning
400
Invalid payload or unsupported parameter combination
401
Missing or invalid API key / bearer token / session token
403
Admin role required or missing token scope
409
One-key policy conflict
429
Rate limit exceeded
Standard Endpoints
240 requests/minute per route + identity
Batch Endpoints
60 requests/minute for /batch/close-all, /batch/close-all/preview, /batch/close-all/summary, and /batch/close-all-instructions
claude mcp add -s user -t http solincinerator "https://v2.api.sol-incinerator.com/mcp"
Execution tools only relay signed payloads. The wallet owner must sign transactions locally with their private key/keypair before using send_transaction or send_transaction_batch.
Start with signing_requirements to get the expected signer flow and a known-good Node snippet (including correct bs58 import shape).