skills/confidential/SKILL.md
Manage confidential (private) transfers via Tongo Cash on Starknet — setup, fund, transfer, withdraw, ragequit, rollover using ZK proofs. Use this skill when the user wants to send tokens privately, hide transfer amounts, use zero-knowledge proofs, set up Tongo, fund or withdraw from a confidential account, perform an emergency exit (ragequit), or activate pending balance (rollover). Also trigger when the user says "send privately", "confidential transfer", "hide my transaction", "Tongo Cash", "ZK transfer", or any variation about privacy-preserving transfers — even if they don't use the word "confidential".
npx skillsauth add ahmetenesdur/starkfi confidentialInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Privacy-preserving token transfers using ZK proofs on Starknet. Amounts are hidden on-chain; recipients are identified by elliptic curve public keys, not Starknet addresses.
authenticate-wallet skill first.conf-setup). Must be done once before any other confidential command.conf-fund operations.npx starkfi@latest status to verify authentication.conf-setup MUST be called before any other confidential command. It only needs to run once.conf-fund, check balance to verify sufficient public token balance.conf-transfer or conf-withdraw, check conf-balance to verify sufficient active balance.conf-rollover to activate pending balance.conf-ragequit is a DESTRUCTIVE operation — it empties the entire confidential balance. Always warn the user and get explicit confirmation.conf-fund, conf-transfer, conf-withdraw, conf-ragequit, conf-rollover), verify with tx-status.~/.local/share/starkfi/confidential.json with strict 0o600 permissions and is never sent to the network.The user first needs a Tongo Private Key. They can generate or export this key through the Tongo Cash or refer to the Tongo Documentation.
npx starkfi@latest conf-setup --key <TONGO_PRIVATE_KEY> --contract 0x1234…
npx starkfi@latest conf-balance [--json]
Returns: active balance, pending balance, nonce, Tongo address.
Move public ERC-20 tokens into a private confidential balance.
npx starkfi@latest conf-fund <amount> [--token <symbol>] [--simulate] [--json]
Send tokens privately to another Tongo account. Recipient is identified by their public key coordinates (x, y).
npx starkfi@latest conf-transfer <amount> --recipient-x <x> --recipient-y <y> [--token <symbol>] [--simulate] [--json]
Convert private balance back to public ERC-20 tokens.
npx starkfi@latest conf-withdraw <amount> [--to <address>] [--token <symbol>] [--simulate] [--json]
Withdraw the entire confidential balance to a public address immediately.
npx starkfi@latest conf-ragequit [--to <address>] [--json]
Received transfers start as "pending" and must be rolled over to become spendable.
npx starkfi@latest conf-rollover [--json]
| Parameter | Type | Description | Required |
| --------------- | ------ | ---------------------------------- | -------------- |
| amount | number | Amount for fund/transfer/withdraw | Yes |
| --key | string | Tongo private key (setup only) | Yes (setup) |
| --contract | string | Tongo contract address | Yes (setup) |
| --recipient-x | string | Recipient public key X coordinate | Yes (transfer) |
| --recipient-y | string | Recipient public key Y coordinate | Yes (transfer) |
| --token | string | Token symbol (default: USDC) | No |
| --to | string | Recipient Starknet address | No |
| --simulate | flag | Estimate fees without broadcasting | No |
| --json | flag | Output as JSON | No |
User: "Set up my Tongo account"
npx starkfi@latest conf-setup --key <KEY> --contract 0x1234…
User: "Fund 100 USDC into my confidential account"
npx starkfi@latest status
npx starkfi@latest balance --token USDC
npx starkfi@latest conf-fund 100 --token USDC --simulate
npx starkfi@latest conf-fund 100 --token USDC
npx starkfi@latest tx-status <hash>
User: "Send 50 privately to this public key"
npx starkfi@latest conf-balance
npx starkfi@latest conf-transfer 50 --recipient-x 0xABC --recipient-y 0xDEF --simulate
npx starkfi@latest conf-transfer 50 --recipient-x 0xABC --recipient-y 0xDEF
npx starkfi@latest tx-status <hash>
User: "Withdraw 100 from my confidential account"
npx starkfi@latest conf-balance
npx starkfi@latest conf-withdraw 100 --simulate
npx starkfi@latest conf-withdraw 100
npx starkfi@latest tx-status <hash>
User: "Emergency withdraw everything"
# WARN: This empties the entire confidential balance
npx starkfi@latest conf-ragequit
npx starkfi@latest tx-status <hash>
User: "Activate my pending balance"
npx starkfi@latest conf-rollover
npx starkfi@latest tx-status <hash>
| Error | Action |
| ----------------------------- | ----------------------------------------------------------- |
| CONFIDENTIAL_NOT_CONFIGURED | Run conf-setup with valid Tongo key and contract address. |
| CONFIDENTIAL_FAILED | Check balance, credentials, and retry. |
| Insufficient balance | Check conf-balance for active balance before operations. |
| Not authenticated | Run authenticate-wallet skill first. |
authenticate-wallet to ensure an active session before confidential operations.balance to verify public token balance before funding.send for standard (non-private) token transfers.config to set a custom RPC if experiencing rate limits.testing
Deposit and withdraw from Troves DeFi yield vault strategies on Starknet. View available strategies, check positions, and manage vault deposits. Use this skill when the user mentions Troves, vault, yield vault, DeFi vault, strategy, yield farming, vault deposit, vault withdraw, earning yield through vaults, passive yield strategies, or wants to deposit into or withdraw from a yield strategy — even if they don't say "Troves" explicitly.
testing
Liquid staking via Endur on Starknet — stake STRK to receive xSTRK, redeem xSTRK back to STRK, check positions, and view protocol stats. Yield is embedded in the xSTRK share price (no manual claim needed). Use this skill when the user mentions liquid staking, LST, xSTRK, Endur, liquid staking token, share price, instant staking, tradeable staking position, or wants a staking token they can trade or use in DeFi — even if they don't say "liquid staking" explicitly.
testing
Create, preview, list, and cancel recurring Dollar-Cost Averaging (DCA) buy orders on Starknet via AVNU or Ekubo. Use this skill when the user wants to set up automatic recurring purchases, dollar-cost average into a token, create a DCA order, schedule periodic buys, invest regularly, buy every day/week/month, or manage existing DCA orders. Also trigger when the user says "recurring buy", "scheduled purchase", "buy X of Y every day", or any variation about automated periodic investing — even if they don't use the term "DCA" explicitly.
testing
Swap tokens on Starknet via Fibrous DEX aggregator. Supports per-provider selection (avnu, ekubo, or auto to race all). Use this skill when the user wants to swap, exchange, trade, convert, buy, or sell one token for another on Starknet. Also use when the user asks about token prices, exchange rates, DEX routing, best swap route, or wants to check how much they would receive for a given amount — even if they don't explicitly say "swap".