agentleFS
ahmetenesdurahmetenesdur/starkfi/skills/confidential/SKILL.md

confidential

Skill2 starsChanged 8 months agoMITView on GitHub

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".

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 0 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    BEFORE any confidential operation, run npx starkfi@latest status to verify authentication.

    line 39
  2. Very specific:

    BEFORE conf-fund, check balance to verify sufficient public token balance.

    line 41
  3. Very specific:

    BEFORE conf-transfer or conf-withdraw, check conf-balance to verify sufficient active balance.

    line 42
  4. Very specific:

    After the recipient receives a transfer, remind them to run conf-rollover to activate pending balance.

    line 43
  5. Very specific:

    AFTER any transactional operation (conf-fund, conf-transfer, conf-withdraw, conf-ragequit, conf-rollover), verify with tx-status.

    line 45
  6. Very specific:

    Use authenticate-wallet to ensure an active session before confidential operations.

    line 182
  7. Very specific:

    Use balance to verify public token balance before funding.

    line 183
  8. Very specific:

    Use send for standard (non-private) token transfers.

    line 184
  9. Very specific:

    Use config to set a custom RPC if experiencing rate limits.

    line 185

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Confidential Transfers (Tongo Cash)

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.

Prerequisites

  • Active session required. If not authenticated, run authenticate-wallet skill first.
  • Tongo credentials configured (conf-setup). Must be done once before any other confidential command.
  • Sufficient public token balance for conf-fund operations.

Rules

  1. BEFORE any confidential operation, run npx starkfi@latest status to verify authentication.
  2. conf-setup MUST be called before any other confidential command. It only needs to run once.
  3. BEFORE conf-fund, check balance to verify sufficient public token balance.
  4. BEFORE conf-transfer or conf-withdraw, check conf-balance to verify sufficient active balance.
  5. After the recipient receives a transfer, remind them to run conf-rollover to activate pending balance.
  6. conf-ragequit is a DESTRUCTIVE operation — it empties the entire confidential balance. Always warn the user and get explicit confirmation.
  7. AFTER any transactional operation (conf-fund, conf-transfer, conf-withdraw, conf-ragequit, conf-rollover), verify with tx-status.
  8. The Tongo private key is stored locally at ~/.local/share/starkfi/confidential.json with strict 0o600 permissions and is never sent to the network.

Setup (One-Time)

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…

Commands

Check Balance

npx starkfi@latest conf-balance [--json]

Returns: active balance, pending balance, nonce, Tongo address.

Fund Confidential Account

Move public ERC-20 tokens into a private confidential balance.

npx starkfi@latest conf-fund <amount> [--token <symbol>] [--simulate] [--json]

Transfer Confidentially

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]

Withdraw to Public

Convert private balance back to public ERC-20 tokens.

npx starkfi@latest conf-withdraw <amount> [--to <address>] [--token <symbol>] [--simulate] [--json]

Ragequit (Emergency Exit)

Withdraw the entire confidential balance to a public address immediately.

npx starkfi@latest conf-ragequit [--to <address>] [--json]

Rollover (Activate Pending)

Received transfers start as "pending" and must be rolled over to become spendable.

npx starkfi@latest conf-rollover [--json]

Parameters

ParameterTypeDescriptionRequired
amountnumberAmount for fund/transfer/withdrawYes
--keystringTongo private key (setup only)Yes (setup)
--contractstringTongo contract addressYes (setup)
--recipient-xstringRecipient public key X coordinateYes (transfer)
--recipient-ystringRecipient public key Y coordinateYes (transfer)
--tokenstringToken symbol (default: USDC)No
--tostringRecipient Starknet addressNo
--simulateflagEstimate fees without broadcastingNo
--jsonflagOutput as JSONNo

Examples

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 Handling

ErrorAction
CONFIDENTIAL_NOT_CONFIGUREDRun conf-setup with valid Tongo key and contract address.
CONFIDENTIAL_FAILEDCheck balance, credentials, and retry.
Insufficient balanceCheck conf-balance for active balance before operations.
Not authenticatedRun authenticate-wallet skill first.

Related Skills

  • Use authenticate-wallet to ensure an active session before confidential operations.
  • Use balance to verify public token balance before funding.
  • Use send for standard (non-private) token transfers.
  • Use config to set a custom RPC if experiencing rate limits.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.