← 返回 Skills 市场
tiancookie

GiftDrop

作者 tiancookie · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
306
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install giftdrop
功能描述
Send, manage, and claim Solana crypto red packets via the GiftDrop API using wallet-authenticated requests and customizable gift parameters.
使用说明 (SKILL.md)

GiftDrop Skill

Send and claim crypto red packets on Solana via the GiftDrop API. Humans and AI Agents are equal participants — wallets don't care who holds the private key.

Prerequisites

  • A Solana wallet keypair (for signing transactions and API key registration)
  • An API key from GiftDrop (register via wallet signature)

API Base URL

https://giftdrop.fun/api/v1

Authentication

All requests require an X-API-Key header:

X-API-Key: gd_\x3Cyour_key>

Key format: gd_ + 32 hex chars (35 chars total).

Register an API Key

Sign a message with your Solana wallet to get an API key. The message must:

  • Contain "GiftDrop API Key"
  • Contain an ISO timestamp within 5 minutes of current time
  • Each signature can only be used once
MESSAGE="GiftDrop API Key request at $(date -u +%Y-%m-%dT%H:%M:%SZ)"

curl -X POST https://giftdrop.fun/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{
    "wallet": "\x3CWALLET_ADDRESS>",
    "signature": "\x3CBASE64_ED25519_SIGNATURE_OF_MESSAGE>",
    "message": "'"$MESSAGE"'"
  }'
# Response: { "success": true, "apiKey": "gd_..." }
# Save this key! It won't be shown again.

Max 3 keys per wallet. Max 10 registration attempts per IP per hour.

Commands

Create a Gift Drop

  1. Send SOL/SPL tokens to host wallet: 3sZVJLG64tGyAzfNNau3nks7i44oVR6fAmoAjF5A5b7N
    • For SPL tokens, also send 0.003 SOL × totalClaims as gas reserve
  2. Register the gift drop:
curl -X POST https://giftdrop.fun/api/v1/gift \
  -H "X-API-Key: gd_..." \
  -H "Content-Type: application/json" \
  -d '{
    "fundingTx": "\x3CSOLANA_TX_SIGNATURE>",
    "totalAmount": 1.0,
    "totalClaims": 10,
    "tokenSymbol": "SOL",
    "tokenMint": "So11111111111111111111111111111111111111112",
    "decimals": 9,
    "title": "Happy Birthday!",
    "luckyBonusPercent": 30,
    "expiryDays": 7
  }'
# Response: { "success": true, "id": "gift_...", "url": "https://giftdrop.fun/g/gift_..." }

Each funding transaction can only be used once.

Parameters:

Field Required Type Description
fundingTx string Solana tx signature (base58, 64-128 chars)
totalAmount number Total token amount (positive finite)
totalClaims integer Number of claims (3-100)
tokenSymbol string Token symbol, max 10 chars
tokenMint string SPL token mint address (base58)
decimals integer Token decimals, 0-18 (default: 9)
title string Optional title, max 40 chars
password string Password protection, 4-20 chars
passwordHint string Hint for password, max 50 chars
luckyBonusPercent integer Lucky bonus: 0, 30, 50, 70, or 100 (default: 30)
expiryDays integer Expiry: 1, 3, 7, or 30 (default: 7)

Claim a Gift Drop

curl -X POST https://giftdrop.fun/api/v1/gift/\x3CGIFT_ID>/claim \
  -H "X-API-Key: gd_..." \
  -H "Content-Type: application/json" \
  -d '{"password": "optional_if_protected"}'
# Response: { "success": true, "amount": 0.15, "isLucky": false, "signature": "..." }

Uses the wallet associated with your API key as the claimant.

Check Gift Drop Status

curl https://giftdrop.fun/api/v1/gift/\x3CGIFT_ID> \
  -H "X-API-Key: gd_..."
# Response: { "success": true, "gift": { "totalAmount": 1.0, "claimed": 3, "remaining": 7, ... } }

List My Gift Drops

curl https://giftdrop.fun/api/v1/gifts \
  -H "X-API-Key: gd_..."
# Response: { "success": true, "gifts": [...] }

Rate Limits

Action Limit
Key registration 10/hr per IP, 3 keys per wallet
Gift creation 5/hr per wallet
Claims 10/min per wallet
General API 60/min per key

Fees

  • 1% platform fee (deducted from total amount)
  • SPL tokens: 0.003 SOL × totalClaims as gas reserve

Token Limits

Token Max per drop
SOL 10
USDC 1,000
USDT 1,000
Others No limit

Error Codes

Status Meaning
400 Validation error
401 Invalid or missing API key
404 Gift drop not found
409 Duplicate (tx already used, gift already exists)
410 Expired or sold out
429 Rate limit exceeded
503 Service unavailable

Example: Full Agent Workflow (Python)

from solders.keypair import Keypair
from solders.pubkey import Pubkey
from solders.transaction import VersionedTransaction
from solders.message import MessageV0
from solders.system_program import transfer, TransferParams
from solders.hash import Hash
import requests, json, base64, time, struct

API = "https://giftdrop.fun/api/v1"
HOST = Pubkey.from_string("3sZVJLG64tGyAzfNNau3nks7i44oVR6fAmoAjF5A5b7N")
SOL_MINT = "So11111111111111111111111111111111111111112"
RPC = "https://api.mainnet-beta.solana.com"

# Load your keypair
kp = Keypair()  # or Keypair.from_base58_string("your_private_key")

# Step 1: Register API Key
msg = f"GiftDrop API Key request at {time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())}"
sig = kp.sign_message(msg.encode())
r = requests.post(f"{API}/keys", json={
    "wallet": str(kp.pubkey()),
    "signature": base64.b64encode(bytes(sig)).decode(),
    "message": msg,
})
api_key = r.json()["apiKey"]
headers = {"X-API-Key": api_key, "Content-Type": "application/json"}

# Step 2: Send SOL to host wallet
bh_resp = requests.post(RPC, json={"jsonrpc":"2.0","id":1,"method":"getLatestBlockhash","params":[{"commitment":"finalized"}]})
blockhash = Hash.from_string(bh_resp.json()["result"]["value"]["blockhash"])
ix = transfer(TransferParams(from_pubkey=kp.pubkey(), to_pubkey=HOST, lamports=500_000_000))  # 0.5 SOL
msg = MessageV0.try_compile(kp.pubkey(), [ix], [], blockhash)
tx = VersionedTransaction(msg, [kp])
tx_resp = requests.post(RPC, json={"jsonrpc":"2.0","id":1,"method":"sendTransaction","params":[base64.b64encode(bytes(tx)).decode(),{"encoding":"base64"}]})
funding_tx = tx_resp.json()["result"]
time.sleep(15)  # wait for confirmation

# Step 3: Create gift drop
r = requests.post(f"{API}/gift", headers=headers, json={
    "fundingTx": funding_tx,
    "totalAmount": 0.5,
    "totalClaims": 10,
    "tokenSymbol": "SOL",
    "tokenMint": SOL_MINT,
    "title": "Agent Gift 🤖",
})
gift = r.json()
print(f"Gift URL: {gift['url']}")

# Step 4: Check status
r = requests.get(f"{API}/gift/{gift['id']}", headers=headers)
print(r.json())

# Step 5: Claim (with a different wallet/key)
r = requests.post(f"{API}/gift/{gift['id']}/claim", headers=headers)
print(r.json())
安全使用建议
This skill appears to be what it says: a GiftDrop client that requires you to sign messages and send SOL/SPL to a host wallet. Before using it, verify the platform and host wallet address (3sZVJL...), prefer testing on a small amount or on devnet, and do not expose your private key to untrusted software. Use a hardware wallet or sign messages/transfers manually if possible. Confirm the domain (giftdrop.fun) and look for an authoritative site or open-source client; absent that, the main risk is financial/trust (funds sent to the host are irreversible), not an internal inconsistency. If you need higher assurance, ask the publisher for source code, a homepage, or independent reviews, and consider using ephemeral wallets for testing.
功能分析
Type: OpenClaw Skill Name: giftdrop Version: 1.0.0 The skill facilitates Solana 'red packet' transfers by requiring the agent to send funds to a hardcoded host wallet (3sZVJLG64tGyAzfNNau3nks7i44oVR6fAmoAjF5A5b7N) and manage a Solana private key for transaction signing. While the behavior aligns with the stated purpose of the GiftDrop service (giftdrop.fun), the requirement for an agent to handle sensitive private keys and transfer assets to a centralized third-party address poses a significant risk of financial loss or key exposure if the service is untrustworthy.
能力评估
Purpose & Capability
Name/description (create/claim Solana red packets) matches the SKILL.md: it documents API endpoints, a wallet-based API key registration flow, funding transactions, and claim/list endpoints. All required actions (signing with a Solana keypair, sending funds to a host wallet, calling the API) are coherent for this purpose.
Instruction Scope
The instructions require the agent/user to hold and use a Solana private key to sign messages and transactions and to send funds to the host wallet address. This is expected for the described service but is sensitive: the skill asks the agent to use or load a private key (e.g., Keypair.from_base58_string) and to perform on-chain transfers. The SKILL.md does not instruct reading unrelated files or env vars, but it does encourage operations that are irreversible (transferring funds) and that require high trust in the host.
Install Mechanism
Instruction-only skill with no install spec and no code files beyond SKILL.md. No downloads or archive extraction are specified, which is the lowest install risk.
Credentials
The skill requests no environment variables or external credentials via requires.env, but functionally requires private wallet keys and an API key obtained by signing a message. This is proportionate to the service but sensitive: signing messages gives the platform the ability to associate your wallet with an apiKey, and sending funds requires trusting the host wallet address and the platform's handling of funds.
Persistence & Privilege
always is false and there is no installation or configuration that modifies other skills or system-wide agent settings. The skill does not request persistent platform privileges beyond normal agent invocation.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install giftdrop
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /giftdrop 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: Web4 API for sending/claiming crypto red packets on Solana. Agent-friendly REST endpoints with wallet signature auth.
元数据
Slug giftdrop
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

GiftDrop 是什么?

Send, manage, and claim Solana crypto red packets via the GiftDrop API using wallet-authenticated requests and customizable gift parameters. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 306 次。

如何安装 GiftDrop?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install giftdrop」即可一键安装,无需额外配置。

GiftDrop 是免费的吗?

是的,GiftDrop 完全免费(开源免费),可自由下载、安装和使用。

GiftDrop 支持哪些平台?

GiftDrop 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 GiftDrop?

由 tiancookie(@tiancookie)开发并维护,当前版本 v1.0.0。

💬 留言讨论