
Yoink
- 127 installs
- 1.2k repo stars
- Updated August 1, 2026
- bankrbot/openclaw-skills
Automate token claim, airdrop pickup, or reward redemption steps so agents can execute yoink-style onchain actions during campaigns, quests, or wallet automation tasks.
About
yoink from bankrbot/openclaw-skills guides Claude agents through onchain claim and airdrop pickup flows, packaging yoink-style redemption into repeatable integrations instead of one-off scripts for every token drop or quest reward.
- Token and airdrop claim automation
- Campaign and quest redemption flows
- Agent-safe transaction preparation
- Reduces repetitive claim script work
- Supports wallet automation pipelines
Yoink by the numbers
- 127 all-time installs (skills.sh)
- Ranked #152 of 479 Web3 & Blockchain skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/bankrbot/openclaw-skills --skill yoinkAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 127 |
|---|---|
| repo stars | ★ 1.2k |
| Last updated | August 1, 2026 |
| Repository | bankrbot/openclaw-skills ↗ |
What it does
Automate token claim, airdrop pickup, or reward redemption steps so agents can execute yoink-style onchain actions during campaigns, quests, or wallet automation tasks.
Files
Yoink
Play Yoink, an onchain capture-the-flag game on Base. Yoink the flag from the current holder to start your clock. The player with the most total yoinks holds the trophy.
Contract: 0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 on Base (chain ID 8453)
Game Rules
1. Yoink the flag - Call yoink() to take the flag from the current holder 2. Cooldown - You must wait 10 minutes (600 seconds) between yoinks 3. No self-yoink - You cannot yoink from yourself 4. Accumulate time - While you hold the flag, your time score increases 5. Compete for trophy - The player with the most total yoinks holds the trophy (token ID 2) 6. Track yoinks - Your total yoink count is tracked separately from time
Contract Interface
RPC template:
curl -s -X POST https://mainnet.base.org -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x4bBFD120d9f352A0BEd7a014bd67913a2007a878","data":"SELECTOR+PARAMS"},"latest"],"id":1}' | jq -r '.result'| Function | Selector | Params | Returns |
|---|---|---|---|
yoink() | 0x9846cd9e | - | (write) |
lastYoinkedBy() | 0xd4dbf9f4 | - | address |
lastYoinkedAt() | 0x6a99616f | - | uint256 timestamp |
totalYoinks() | 0xa5d0dadd | - | uint256 |
topYoinker() | 0x6a974e6e | - | address (trophy holder) |
mostYoinks() | 0xd2d7774a | - | uint256 (record) |
COOLDOWN() | 0xa2724a4d | - | uint256 (600) |
score(address) | 0x776f3843 | addr (32B padded) | (yoinks, time, lastYoinkedAt) |
balanceOf(address,uint256) | 0x00fdd58e | addr + tokenId | uint256 (FLAG_ID=1, TROPHY_ID=2) |
Encoding: Addresses are zero-padded to 32 bytes. score() returns 96 bytes (3 × uint256).
Yoinking
Use Bankr's arbitrary transaction feature:
{
"to": "0x4bBFD120d9f352A0BEd7a014bd67913a2007a878",
"data": "0x9846cd9e",
"value": "0",
"chainId": 8453
}Errors
| Error | Selector | Meaning |
|---|---|---|
SlowDown(uint256) | 0x58d6f4c6 | Cooldown not elapsed. Param = seconds remaining. |
Unauthorized() | 0x82b42900 | You already hold the flag. |
Cooldown check: current_time - lastYoinkedAt() >= 600
Workflow
- Query
lastYoinkedBy()andlastYoinkedAt()to check status/cooldown - Ensure cooldown elapsed (600s) and you're not current holder
- Submit yoink transaction via Bankr
- Verify with
lastYoinkedBy()orscore(address)
Resources
- Basescan: https://basescan.org/address/0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 (ABI, events, source)
- Source Code: https://github.com/horsefacts/yoink-contracts
{
"schemaVersion": 1,
"slug": "yoink",
"provider": "Yoink",
"providerUrl": null,
"logo": null,
"demo": {
"title": "yoink.sh",
"language": "bash",
"code": "# Yoink the flag! (raw contract call via Bankr)\nbankr prompt 'Submit this transaction:\n {\"to\":\"0x4bBFD120d9f352A0BEd7a014bd67913a2007a878\",\n \"data\":\"0x9846cd9e\",\"value\":\"0\",\"chainId\":8453}'\n\n# Check who holds the flag\nbankr prompt \"Call lastYoinkedBy() on \\\n 0x4bBFD120d9f352A0BEd7a014bd67913a2007a878 on Base\""
},
"setup": [
"Install: `npx skills add yoink`",
"Requires Bankr skill for transaction execution",
"Fund wallet with ETH on Base for gas",
"Wait 10 min cooldown between yoinks"
],
"install": {
"type": "bankr",
"repoPath": "yoink",
"command": "install the yoink skill from https://github.com/BankrBot/skills/tree/main/yoink"
}
}