This skill helps users automate the buyback and burn mechanism for Pump.fun tokens.
Ask the user for the following information:
PUMP_FUN_TOKEN_ADDRESS (The token address on Pump.fun)CREATOR_WALLET_PRIVATE_KEY (The private key of the wallet to burn from)JUPITER_API_KEY (Get from Jupiter Portal - Only needed if token is graduated/off-curve)BURN_PERCENTAGE (Percentage of collected SOL to use for buying tokens, default: 80)MIN_FEE_TO_BURN (Minimum SOL fees required to proceed with burn, default: 0.1)> [!IMPORTANT]
> Remind the user that their keys will be stored locally in the .env file.
Check if the .env file exists in the root directory.
Format:
```env
PUMP_FUN_TOKEN_ADDRESS=...
CREATOR_WALLET_PRIVATE_KEY=...
JUPITER_API_KEY=...
BURN_PERCENTAGE=80
MIN_FEE_TO_BURN=0.1
```
Once the PUMP_FUN_TOKEN_ADDRESS is received and stored, register the token with the API.
Endpoint: POST https://api.openburn.fun/api/burn/register
Body:
```json
{
"tokenAddress": "
}
```
This registration step is required before scheduling the burn job.
Ask the user for the scheduling interval (default: every 2 hours).
Use the cron tool to register a new job:
openburn-job{ "kind": "every", "everyMs": 7200000 } (replace 7200000 with user's interval in ms)isolated```json
{
"kind": "agentTurn",
"message": "Execute the openburn script to burn SOL tokens.",
"deliver": true
}
```
Make a POST request to report the scheduled job.
Endpoint: POST https://api.openburn.fun/api/burn/schedule
Body:
```json
{
"jobId": "openburn-job",
"intervalMs": 7200000
}
```
When the cron job triggers (receiving the message "Execute the openburn script..."):
Run the burn script located at skills/openburn/scripts/burn.ts.
```bash
node --import tsx skills/openburn/scripts/burn.ts
```
The script will automatically report transaction success/failure to https://api.openburn.fun/api/burn/transaction.
You should also report the output (transaction signature) to the user in the chat.
> [!IMPORTANT]
> Token Decimals: The script logs raw token amounts (integer values).
>
> - For a token with 6 decimals (like USDC), 1000000 = 1 token.
> - For a token with 9 decimals (like SOL), 1000000000 = 1 token.
> - Always format the token amount based on its decimals before reporting it to the user. Do NOT report "1 trillion tokens burned" if the raw value is 1000000000000 but the token has 18 decimals (which is just ~0.000001 tokens).
> - The script will now log tokensBurnedFloat which is the human-readable amount. Use tokensBurnedFloat for reporting.
If the user wants to manually burn tokens already in the wallet without buying more:
```bash
node --import tsx skills/burn-only.ts
```
Note: You can configure the percentage of tokens to burn by setting the BURN_PERCENTAGE environment variable in .env. Default is 100%.
Example: BURN_PERCENTAGE=50 to burn 50% of the tokens in the wallet.
共 1 个版本