Gotchi Pocket
Send and receive ERC20 tokens with Aavegotchi pockets on Base, using Bankr for signing/submission.
What this skill does
- - Resolve gotchi owner + pocket address from gotchi ID
- Check owner and pocket token balances
- Deposit ERC20 tokens from owner wallet into pocket
- Withdraw ERC20 tokens from pocket with INLINECODE0
- Enforce owner-control check against active Bankr wallet (default)
- Parse plain-English commands and dispatch to scripts automatically
- Require explicit approval for natural-language withdraw intents
Scripts
- - INLINECODE1
- INLINECODE2
- INLINECODE3
- INLINECODE4
- INLINECODE5
Natural-language command layer
Use one plain-English command and let the skill route it.
Examples:
CODEBLOCK0
Preview parsing without sending tx:
CODEBLOCK1
Withdraw approval safety
Natural-language withdraws are blocked unless explicitly approved.
CODEBLOCK2
Token input
Use either a token address or aliases:
- - INLINECODE6
- INLINECODE7
- INLINECODE8
- INLINECODE9
- INLINECODE10
- INLINECODE11
- INLINECODE12
- INLINECODE13
Standard workflow
- 1. Resolve addresses:
CODEBLOCK3
- 2. Check balance before mutation:
CODEBLOCK4
- 3. Deposit or withdraw:
CODEBLOCK5
- 4. Re-check balance after tx:
CODEBLOCK6
Notes
- - Amounts are token units by default (for example
100 GHST). - Use
--raw only when the amount is already base units. - Owner check is on by default and can be skipped with
SKIP_BANKR_OWNER_CHECK=1. - All txs use
waitForConfirmation=true and return a BaseScan URL.
Contracts
- - Aavegotchi Diamond (Base): INLINECODE18
- GHST (Base): INLINECODE19
Gotchi Pocket
在Base链上使用Aavegotchi口袋发送和接收ERC20代币,通过Bankr进行签名/提交。
此技能的功能
- - 根据Gotchi ID解析Gotchi所有者及口袋地址
- 检查所有者和口袋的代币余额
- 从所有者钱包向口袋存入ERC20代币
- 使用transferEscrow(...)从口袋提取ERC20代币
- 对活跃的Bankr钱包强制执行所有者控制检查(默认)
- 自动解析自然语言指令并分发到脚本
- 对自然语言提现意图要求明确批准
脚本
- - ./scripts/pocket-info.sh [--check-bankr]
- ./scripts/pocket-balance.sh
- ./scripts/pocket-deposit.sh [--raw]
- ./scripts/pocket-withdraw.sh [--raw]
- ./scripts/pocket-command.sh [--approve-withdraw] [--dry-run]
自然语言指令层
使用一条自然语言指令,让技能自动路由。
示例:
bash
./scripts/pocket-command.sh 发送25个GHST到gotchi 9638的口袋
./scripts/pocket-command.sh 从gotchi 9638的口袋发送25个GHST到0xb96b48a6b190a9d509ce9312654f34e9770f2110
./scripts/pocket-command.sh 检查gotchi 9638口袋中的GHST余额
./scripts/pocket-command.sh 显示gotchi 9638的口袋信息
预览解析而不发送交易:
bash
./scripts/pocket-command.sh --dry-run 发送25个GHST到gotchi 9638的口袋
提现批准安全机制
自然语言提现会被阻止,除非明确批准。
bash
首次调用返回approval_required=true并退出,不发送交易
./scripts/pocket-command.sh 从gotchi 9638的口袋发送25个GHST到0xb96b48a6b190a9d509ce9312654f34e9770f2110
批准后执行
./scripts/pocket-command.sh --approve-withdraw 从gotchi 9638的口袋发送25个GHST到0xb96b48a6b190a9d509ce9312654f34e9770f2110
代币输入
使用代币地址或别名:
- - GHST
- FUD
- FOMO
- ALPHA
- KEK
- USDC
- WETH
- DAI
标准工作流程
- 1. 解析地址:
bash
./scripts/pocket-info.sh 9638 --check-bankr
- 2. 在变更前检查余额:
bash
./scripts/pocket-balance.sh 9638 GHST
- 3. 存入或提取:
bash
向口袋存入100个GHST
./scripts/pocket-deposit.sh 9638 GHST 100
从口袋向所有者提取100个GHST
./scripts/pocket-withdraw.sh 9638 GHST 0xb96b48a6b190a9d509ce9312654f34e9770f2110 100
- 4. 交易后重新检查余额:
bash
./scripts/pocket-balance.sh 9638 GHST
注意事项
- - 默认情况下金额为代币单位(例如100个GHST)
- 仅在金额已是基础单位时使用--raw
- 所有者检查默认开启,可通过SKIPBANKROWNER_CHECK=1跳过
- 所有交易使用waitForConfirmation=true并返回BaseScan链接
合约
- - Aavegotchi Diamond (Base):0xA99c4B08201F2913Db8D28e71d020c4298F29dBF
- GHST (Base):0xcD2F22236DD9Dfe2356D7C543161D4d260FD9BcB