领取创建者费用
pump.fun 从每笔交易中分一部分给币的创建者:毕业前进入联合曲线的创建者金库,毕业后进入 PumpSwap 的金库。这个调用读取某个创建者的两个金库,并返回一笔未签名交易,把里面的全部收走。没有可领取金额的那一段会被省略;两边都为空时调用返回 400。
POST https://sol.shrine.trade/api/claim-creator-fees
请求
| 字段 | 类型 | 说明 |
|---|---|---|
publicKey | string | 创建者钱包。负责签名并接收 SOL。 |
priorityFee | number | SOL。可选。 |
jitoTip | number | SOL。可选。 |
响应
{
"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 →