return-funds
SKILL.md
Return Funds to Sender
When the operator asks you to return funds (e.g., "send it back", "return the XNO", "refund"), follow this workflow carefully.
Core Safety Rule
NEVER guess the refund destination. If there is any ambiguity about where to send funds, ALWAYS ask the operator to confirm.
Workflow
Step 1: Identify what to return
If the request is linked to a payment request:
- Call
payment_request_refundwith the request ID andexecute: false - This returns source addresses from received blocks
If no payment request exists:
- Call
wallet_historyto see recent transactions - Identify receive transactions and their source addresses
Step 2: Evaluate ambiguity
The system will tell you if the refund target is clear or ambiguous:
Single source (clear):
- One address sent all the funds
- Present the address and amount to the operator for confirmation
- Example: "I received 0.1 XNO from
nano_1abc.... Shall I return it there?"
Multiple sources (ambiguous):
- Different addresses sent funds
- List ALL candidates with amounts
- Ask the operator which address to refund to
- Example: "I received funds from multiple addresses:
nano_1abc...— 0.05 XNOnano_3def...— 0.05 XNO Which address should I return funds to?"
No sources found:
- No received funds to return
- Tell the operator: "No incoming transactions found to refund."
Step 3: Confirm and execute
After the operator confirms the destination:
- Call
payment_request_refundwithexecute: trueandconfirmAddress: "<confirmed address>" - Or use
wallet_senddirectly if not linked to a payment request - Report the send hash and updated balance
Important Rules
- Always confirm before sending — even if there's only one source
- Show the full address — don't abbreviate, let the operator verify
- If the operator says "send it back" without context, check
payment_request_listfor recent requests, thenwallet_historyfor recent receives - Partial refunds are OK — if the operator asks to return only part of the funds, respect that
- Check allowance limits — if spending limits are set, the refund may need operator approval to increase limits first
- Log everything — all refund operations are tracked in transaction history
Edge Cases
"Return everything"
- Check total balance across all wallet accounts
- List all accounts with balances
- Confirm with operator before draining accounts
"Return to [specific address]"
- Validate the address first (
validate_address) - Confirm amount
- Send directly — no need to match against sources
Allowance blocks the refund
If spending limits prevent the refund:
- Tell the operator: "The current spending limit prevents this send. Please increase the limit via
wallet_set_allowanceor confirm you'd like to proceed."
Related Skills
request-payment— the inbound counterpartmcp-wallet— wallet operationsvalidate-address— verify addresses before sending
Weekly Installs
2
Repository
casualsecurityi…o-skillsFirst Seen
1 day ago
Security Audits
Installed on
kilo2
amp2
cline2
opencode2
cursor2
kimi-cli2