Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .claude/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .agents/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .cursor/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .gemini/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .github/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "poidh-bounty" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/poidh into .opencode/skills/poidh-bounty/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "poidh-bounty", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
poidh-bounty
GitHub stars
2.2k
Token cost
~4.8k tokens
SKILL.md length
1,494 words
Files
2
Skills in repo
1,235
Repo updated
First seen
Licence
MIT
At a glance
Post bounties and evaluate/accept winning submissions on poidh (pics or it didn't happen) on Arbitrum, Base, or Degen Chain.
Works in 7 steps: Fetch Claims for a Bounty → Get the URI for Each Claim → Resolve the URI → …
The user wants to create a bounty on poidh.xyz
SKILL.md covers Overview, Required Environment Variables, Supported Chains and Part 1: Posting a Bounty, plus 6 more sections
Calls python3; reaches poidh.xyz and ipfs.io; needs PRIVATE_KEY and URI_FROM_TOKEN
What it does
Poidh Bounty is an agent skill from LeoYeAI/openclaw-master-skills. Post bounties and evaluate/accept winning submissions on poidh (pics or it didn't happen) on Arbitrum, Base, or Degen Chain. Use this skill when the user wants to create a bounty on poidh.xyz, post a task with an ETH or DEGEN reward on-chain, evaluate photo submissions using vision, accept a winning claim on a solo bounty, or initiate/resolve voting on an open bounty.
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
It sits in Backend & APIs, covering Smart contracts. It works with Arbitrum. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
When your agent uses it
The user wants to create a bounty on poidh.xyz
Post a task with an ETH
DEGEN reward on-chain
Evaluate photo submissions using vision
Example prompts
“/poidh-bounty”
Requirements
Python 3
A credential in PRIVATE_KEY
A credential in URI_FROM_TOKEN
Workflow steps
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
python3
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
poidh.xyz
ipfs.io
arweave.net
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
PRIVATE_KEY
URI_FROM_TOKEN
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Poidh Bounty loads about 4.8k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 1,494 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~96
When it runs· the whole SKILL.md, loaded when a task matches
~4.8k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/poidh-bounty/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
poidh-bounty
description
Post bounties and evaluate/accept winning submissions on poidh (pics or it didn't happen) on Arbitrum, Base, or Degen Chain. Use this skill when the user wants to create a bounty on poidh.xyz, post a task with an ETH or DEGEN reward on-chain, evaluate photo submissions using vision, accept a winning claim on a solo bounty, or initiate/resolve voting on an open bounty.
Overview
This skill interacts with the PoidhV3 contracts on Arbitrum, Base, and Degen Chain to:
Post bounties (solo or open)
Evaluate claim submissions using vision — fetch the image URI from each claim and compare against the bounty description
Accept the winning claim (solo bounty) or initiate + resolve a vote (open bounty)
poidh ("pics or it didn't happen") is a fully on-chain bounty protocol. Claimants submit photo proof, and the bounty issuer (or contributors via vote) accepts the best claim to release funds.
⚠️ The PoidhV3 contract enforces msg.sender == tx.origin. Only EOA wallets can create or accept bounties. Smart contract wallets (Safe, etc.) will revert with ContractsCannotCreateBounties.
Required Environment Variables
Variable
Description
PRIVATE_KEY
Private key of the EOA signing transactions (hex, with or without 0x prefix)
RPC_URL
RPC URL for the target chain
POIDH_CHAIN
Target chain: arbitrum, base, or degen
POIDH_CONTRACT_ADDRESS is resolved automatically from POIDH_CHAIN — do not set it manually.
Supported Chains
Chain
Contract Address
Explorer
Arbitrum
0x5555Fa783936C260f77385b4E153B9725feF1719
arbiscan.io
Base
0x5555Fa783936C260f77385b4E153B9725feF1719
basescan.org
Degen Chain
0x18E5585ca7cE31b90Bc8BB7aAf84152857cE243f
explorer.degen.tips
⚠️ Minimum amounts differ by chain. On Arbitrum and Base: 0.001 ETH minimum bounty, 0.00001 ETH minimum contribution. On Degen Chain: 1000 DEGEN minimum bounty, 10 DEGEN minimum contribution. Always verify on-chain before posting:
Resolve the contract address at the start of every session:
bash
if [ "$POIDH_CHAIN" = "degen" ]; then
POIDH_CONTRACT_ADDRESS="0x18E5585ca7cE31b90Bc8BB7aAf84152857cE243f"
else
# arbitrum and base share the same address
POIDH_CONTRACT_ADDRESS="0x5555Fa783936C260f77385b4E153B9725feF1719"
fi
The poidh.xyz URL also changes per chain:
bash
if [ "$POIDH_CHAIN" = "arbitrum" ]; then
POIDH_BASE_URL="https://poidh.xyz/arbitrum"
POIDH_V2_OFFSET=180
elif [ "$POIDH_CHAIN" = "degen" ]; then
POIDH_BASE_URL="https://poidh.xyz/degen"
POIDH_V2_OFFSET=1197
else
POIDH_BASE_URL="https://poidh.xyz/base"
POIDH_V2_OFFSET=986
fi
cast send $POIDH_CONTRACT_ADDRESS \
"createSoloBounty(string,string)" \
"Brooklyn Bridge at sunset" \
"High quality photo of the Brooklyn Bridge during golden hour. Must show the full span." \
--value 0.001ether \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL
Post an Open Bounty
Open = others can co-fund; claim acceptance requires a contributor-weighted vote.
When the user wants to pick a winner, the agent must:
Fetch all claims for the bounty
Retrieve each claim's URI from the NFT contract
Fetch and evaluate the content against the bounty description
Pick the best match
Claim submissions are freeform — the URI could point to an image, a video, a tweet, a GitHub PR, a webpage, a document, or anything else. Evaluate whatever you find against what the bounty asked for.
Returns up to 10 claims (most recent first). Increment offset by 10 to paginate. Each claim tuple:
(id, issuer, bountyId, bountyIssuer, name, description, createdAt, accepted)
The name and description fields on the claim are also set by the claimant and may give useful context about what they submitted.
Step 2: Get the URI for Each Claim
bash
# Get NFT contract address
NFT_ADDRESS=$(cast call $POIDH_CONTRACT_ADDRESS "poidhNft()(address)" --rpc-url $RPC_URL)
# Get token URI for a specific claim
cast call $NFT_ADDRESS "tokenURI(uint256)(string)" <CLAIM_ID> --rpc-url $RPC_URL
Step 3: Resolve the URI
Convert non-HTTP URIs to fetchable URLs:
python
uri = "<URI_FROM_TOKEN>"
if uri.startswith("ipfs://"):
url = uri.replace("ipfs://", "https://ipfs.io/ipfs/")
elif uri.startswith("ar://"):
url = uri.replace("ar://", "https://arweave.net/")
else:
url = uri # already HTTP
If the URL returns JSON metadata (standard ERC721 format), check for an image or animation_url field and resolve those too:
python
import requests
response = requests.get(url)
try:
meta = response.json()
# Prefer animation_url (video/interactive) over image if both present
content_url = meta.get("animation_url") or meta.get("image") or url
if content_url.startswith("ipfs://"):
content_url = content_url.replace("ipfs://", "https://ipfs.io/ipfs/")
except Exception:
content_url = url # URI points directly to the content
Step 4: Evaluate the Content
Fetch and review the content at content_url. Use the appropriate method based on what you find:
Image — use native vision to view it directly
Webpage / tweet / article — use the web fetch tool to read the content
Video — note the URL and evaluate based on the thumbnail or any available metadata
Document / PDF — fetch and read the text content
Evaluate each claim against the bounty name and description on:
Relevance — does the submission match what was actually asked for?
Quality — is it complete, clear, and unambiguous?
Authenticity — does it appear genuine and original (not recycled or faked)?
Pick the claim with the highest overall score. Present your reasoning to the user before executing any transaction.
Part 3: Accepting a Winning Claim — Solo Bounty
For solo bounties (and open bounties where no external contributors ever joined), the issuer accepts directly. This immediately finalizes the bounty, credits the claimant payout to pendingWithdrawals, takes the 2.5% protocol fee, and transfers the claim NFT to the issuer.
Part 5: Submitting a Claim on Someone Else's Bounty
Any EOA (except the bounty issuer) can submit a claim on an active open or solo bounty. This is how the agent acts as a claimant rather than an issuer. No native token is required to submit a claim — only gas.
The uri is the proof of completion — it can be anything: an IPFS image hash, a direct image URL, a tweet, a GitHub link, a webpage, a video, etc. It gets minted into a claim NFT at submission time.
Check That the Bounty is Active
Before submitting, verify the bounty exists, is not finalized, and has no ongoing vote:
bash
cast call $POIDH_CONTRACT_ADDRESS \
"bounties(uint256)(uint256,address,string,string,uint256,address,uint256,uint256)" \
<BOUNTY_ID> \
--rpc-url $RPC_URL
# Returns: id, issuer, name, description, amount, claimer, createdAt, claimId
# claimer == 0x0 means active; claimer == issuer means cancelled; claimer == other means already won
Also confirm no vote is currently in progress:
bash
cast call $POIDH_CONTRACT_ADDRESS \
"bountyCurrentVotingClaim(uint256)(uint256)" \
<BOUNTY_ID> \
--rpc-url $RPC_URL
# Returns 0 if no active vote — safe to submit
CLAIM_DESCRIPTION — explanation of how the bounty was completed
PROOF_URI — the actual proof (image URL, IPFS URI, tweet URL, GitHub link, etc.)
Example:
bash
cast send $POIDH_CONTRACT_ADDRESS \
"createClaim(uint256,string,string,string)" \
42 \
"Brooklyn Bridge golden hour" \
"Took this photo at 7:43pm on the Manhattan side. Full span visible with reflection in the water." \
"ipfs://QmXyz..." \
--private-key $PRIVATE_KEY \
--rpc-url $RPC_URL
Show full SKILL.md (598 more words)Show less
Get the Claim ID After Submitting
bash
cast receipt <TX_HASH> --rpc-url $RPC_URL --json | \
python3 -c "
import sys, json
receipt = json.load(sys.stdin)
for log in receipt['logs']:
if log['address'].lower() == '$POIDH_CONTRACT_ADDRESS'.lower() and len(log['topics']) >= 2:
claim_id = int(log['topics'][1], 16)
print(f'Claim ID: {claim_id}')
break
"
Important Constraints
The agent's wallet (PRIVATE_KEY) cannot be the bounty issuer — IssuerCannotClaim will revert
Submitting is blocked while a vote is active on that bounty — VotingOngoing will revert
The bounty must still be open — finalized or cancelled bounties will revert
There is no limit to the number of claims per bounty; the issuer picks the best one
Part 6: Withdrawing Funds
After winning a bounty as claimant, funds are credited to pendingWithdrawals and must be explicitly collected. The bounty payout minus the 2.5% protocol fee is available immediately after acceptClaim or resolveVote finalizes.
Check everHadExternalContributor to determine the correct acceptance path
Fetch all active (non-accepted) claims via getClaimsByBountyId
For each claim: get tokenURI, resolve URI, evaluate content using the appropriate tool (vision for images, web fetch for links, etc.)
Present recommended winner + reasoning to user, confirm before transacting
Solo / no external contributors: acceptClaim(bountyId, claimId)
Open with external contributors: submitClaimForVote(bountyId, claimId), inform user contributors have 2 days to vote, then resolveVote after deadline
Native Token Amount Reference
Human amount
Cast value
0.001 ETH
0.001ether
0.01 ETH
0.01ether
1 ETH
1ether
1000 DEGEN
1000ether
10 DEGEN
10ether
cast uses ether as a unit label for any 18-decimal token. On Degen Chain, this means DEGEN, not ETH.
Fee Note
PoidhV3 takes a 2.5% fee on accepted claim payouts, deducted only at acceptance. The full msg.value is held in escrow until then. The fee is paid in the chain's native token — ETH on Arbitrum and Base, DEGEN on Degen Chain.
Error Reference
Error
Cause
Fix
ContractsCannotCreateBounties()
Wallet is a smart contract
Use an EOA private key
MinimumBountyNotMet()
Amount below MIN_BOUNTY_AMOUNT
Increase --value (0.001 ETH on Arbitrum/Base, 1000 DEGEN on Degen)
MinimumContributionNotMet()
Contribution below MIN_CONTRIBUTION
Increase --value when joining open bounty
NoEther()
--value was 0 or omitted
Add --value
WrongCaller()
Not the bounty issuer
Use the issuer's private key
VotingOngoing()
Active vote in progress
Wait for deadline, then resolveVote
VotingEnded()
Deadline passed without resolution
Call resolveVote
NotSoloBounty()
Open bounty with contributors tried direct accept
Use submitClaimForVote instead
ClaimAlreadyAccepted()
Claim was already accepted
Nothing to do
BountyClaimed()
Bounty already finalized
Nothing to do
BountyClosed()
Bounty was cancelled
Nothing to do
BountyNotFound()
Invalid bounty ID
Check bounty ID
ClaimNotFound()
Invalid claim ID
Check claim ID
IssuerCannotClaim()
Issuer tried to submit a claim on their own bounty
Poidh Bounty next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Poidh Bounty compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Poidh Bounty this skillLeoYeAI/openclaw-master-skills
A skill your agent uses when building cross-chain USDC transfers, integrating with Circle's Cross-Chain Transfer Protocol (CCTP V2), or using Circle Gateway for unified balances.
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Post bounties and evaluate/accept winning submissions on poidh (pics or it didn't happen) on Arbitrum, Base, or Degen Chain. Poidh Bounty is an agent skill from LeoYeAI/openclaw-master-skills. Post bounties and evaluate/accept winning submissions on poidh (pics or it didn't happen) on Arbitrum, Base, or Degen Chain.
When should I use Poidh Bounty?
Poidh Bounty fits situations like: the user wants to create a bounty on poidh.xyz; post a task with an ETH; DEGEN reward on-chain; evaluate photo submissions using vision.
How do I install Poidh Bounty in Claude Code?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a claude-code`. Or copy the skill folder (skills/poidh in LeoYeAI/openclaw-master-skills) into .claude/skills/poidh-bounty in your project. Claude Code loads it when a task matches its description.
How do I install Poidh Bounty in Codex?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a codex`. Or copy the skill folder (skills/poidh in LeoYeAI/openclaw-master-skills) into .agents/skills/poidh-bounty in your project. Codex loads it when a task matches its description.
Can I use Poidh Bounty in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill poidh-bounty -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/poidh-bounty, .gemini/skills/poidh-bounty, .github/skills/poidh-bounty and .opencode/skills/poidh-bounty in your project.
What does Poidh Bounty need to run?
Going by SKILL.md and its folder, Poidh Bounty needs the command-line tools its instructions call (python3) and credentials named PRIVATE_KEY and URI_FROM_TOKEN. Our summary lists: Python 3; A credential in PRIVATE_KEY; A credential in URI_FROM_TOKEN.
Does Poidh Bounty access the network?
SKILL.md names 3 domains. In commands or code: poidh.xyz, ipfs.io and arweave.net; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Is Poidh Bounty safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Poidh Bounty use?
Poidh Bounty is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Poidh Bounty use?
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Poidh Bounty?
Skills that share tags, products or a category with Poidh Bounty: Radar (Auditware/radar, 154 stars), Trading Evm (alsk1992/CloddsBot, 3k stars), Use Usdc (circlefin/skills, 155 stars) and Ethskills (austintgriffith/ethskills, 295 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Poidh Bounty?
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.