跳到主要内容

领取创建者费用

pump.fun 从每笔交易中分一部分给币的创建者:毕业前进入联合曲线的创建者金库,毕业后进入 PumpSwap 的金库。这个调用读取某个创建者的两个金库,并返回一笔未签名交易,把里面的全部收走。没有可领取金额的那一段会被省略;两边都为空时调用返回 400。

POST https://sol.shrine.trade/api/claim-creator-fees

请求​

字段类型说明
publicKeystring创建者钱包。负责签名并接收 SOL。
priorityFeenumberSOL。可选。
jitoTipnumberSOL。可选。

响应​

{
"tx": "<base64 unsigned transaction>",
"blockhash": "…",
"pumpfunLamports": 123456789,
"pumpswapLamports": 0
}

pumpfunLamports 是联合曲线金库中超出租金的部分;pumpswapLamports 是 PumpSwap 金库中的 WSOL,交易会把它解包成 SOL。不收平台费。

示例​

构建、签名、通过中继发送。中继通过我们自己的 Solana 端点广播,所以脚本不需要 RPC。

import { Keypair, VersionedTransaction } from "@solana/web3.js";
import bs58 from "bs58";

const wallet = Keypair.fromSecretKey(bs58.decode("<your wallet private key, base58>"));

// 创建者钱包在曲线和 PumpSwap 上能领取的全部费用。
const { tx } = await (await fetch("https://sol.shrine.trade/api/claim-creator-fees", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ publicKey: wallet.publicKey.toBase58() }),
})).json();

const transaction = VersionedTransaction.deserialize(Buffer.from(tx, "base64"));
transaction.sign([wallet]);

const sent = await (await fetch("https://sol.shrine.trade/api/send", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ signedTx: Buffer.from(transaction.serialize()).toString("base64") }),
})).json();
console.log(sent.status, `https://solscan.io/tx/${sent.signature}`);

StonkFun 币​

在 StonkFun 上发射的币,其创建者费用以币的计价资产累积,领取则改走 StonkFun 的流程。POST https://sol.shrine.trade/api/stonkfun/claim-fees,内容为 { "publicKey": "<creator wallet>", "mint": "<coin>" },返回一笔 90 秒内有效的未签名交易、一个 intentId,以及以计价资产和该币计的可领取金额。只有持有该币费用密钥的钱包才能领取;其他人会被拒绝。签好名后交给 POST /api/stonkfun/claim-fees/submit,内容为 { "publicKey", "mint", "intentId", "signedTransaction" }。重复提交一个已经成功的领取会返回原始签名并带上 alreadySubmitted: true。StonkFun 允许每个 IP 每分钟 20 次领取报价。

试一试​

签名前都是只读的。粘贴一个创建者钱包,看看可领取多少并拿到交易。

LimitsFree 1 req/sLite 5 req/sDeveloper 10 req/sSee plans →