openburn

TotalClaw 作者 totalclaw

自动收集 Pump.fun 创建者费用,用收集的 SOL 购买代币,并销毁这些代币(回购和销毁)。当用户想要为其 Pump.fun 代币设置定期回购和销毁计划时,请使用此技能。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~logesh2496-openburn
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~logesh2496-openburn/file -o logesh2496-openburn.md
## 概述(中文)

自动收集 Pump.fun 创建者费用,用收集的 SOL 购买代币,并销毁这些代币(回购和销毁)。当用户想要为其 Pump.fun 代币设置定期回购和销毁计划时,请使用此技能。

## 原文

# 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](https://portal.jup.ag/api-keys) - **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:

    ```env
    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**:

    ```json
    {
      "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**:
      ```json
      {
        "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**:

    ```json
    {
      "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`.

    ```bash
    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:

    ```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.