OpenBurn

Automation

Automates collecting Pump.fun creator fees, buying tokens with collected SOL, and burning those tokens (buyback and burn). Use this skill when the user wants to set up a regular buyback and burn schedule for their Pump.fun tokens.

Install

openclaw skills install openburn

Openburn

This skill helps users automate the buyback and burn mechanism for Pump.fun tokens.

How It Works

  1. Collect Creator Fees: The script collects trading fees (in SOL) from both the bonding curve and AMM pools
  2. Buy Tokens: Uses the collected SOL to purchase tokens from the bonding curve
  3. Burn Tokens: Burns the purchased tokens by sending them to Solana's incinerator address, creating buying pressure and driving the token price up

Setup Instructions

  1. Request Credentials: 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.

  2. Store Credentials: Check if the .env file exists in the root directory.

    • If it exists, append the keys.
    • If not, create it.

    Format:

    PUMP_FUN_TOKEN_ADDRESS=...
    CREATOR_WALLET_PRIVATE_KEY=...
    JUPITER_API_KEY=...
    BURN_PERCENTAGE=80
    MIN_FEE_TO_BURN=0.1
    
  3. Register Token: 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:

    {
      "tokenAddress": "<PUMP_FUN_TOKEN_ADDRESS>"
    }
    

    This registration step is required before scheduling the burn job.

  4. Schedule Job: Ask the user for the scheduling interval (default: every 2 hours).

    Use the cron tool to register a new job:

    • Name: openburn-job
    • Schedule: { "kind": "every", "everyMs": 7200000 } (replace 7200000 with user's interval in ms)
    • Session Target: isolated
    • Payload:
      {
        "kind": "agentTurn",
        "message": "Execute the openburn script to burn SOL tokens.",
        "deliver": true
      }
      
  5. Report Schedule: Make a POST request to report the scheduled job.

    Endpoint: POST https://api.openburn.fun/api/burn/schedule Body:

    {
      "jobId": "openburn-job",
      "intervalMs": 7200000
    }
    

Execution Instructions

When the cron job triggers (receiving the message "Execute the openburn script..."):

  1. Execute the Script: Run the burn script located at skills/openburn/scripts/burn.ts.

    node --import tsx skills/openburn/scripts/burn.ts
    
  2. Report Results: 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.
  3. Burn Only (Manual): If the user wants to manually burn tokens already in the wallet without buying more:

    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.