Composer

The pool allows one invoke per private transaction. Jalin runs a whole plan — any steps, any contracts — inside that one invoke.

pool 0x040337…812a · router 0x008498…3a7e

First time here? Pick a preset, read what it reveals, then sign it. Spending happens from your shielded balance, not your public one — so shield first if you hold nothing in the pool yet.

This account, in the pool

What you hold inside the pool, and the two things that cannot be built in the editor above: moving public STRK in, and voting.

0. First time on this account? Shield any amount from inside your wallet — that one transaction publishes your viewing key and registers you. No dapp can do it for you; the Wallet API has no register method, and skipping it gives NOT_REGISTERED. Verified in 0x04816dbb…0278.

Shield

Moves your public STRK into the pool as an encrypted note, and everything below spends from it. It has to land before anything else will run: the wallet checks a spend against the balance you already hold, so it will not fold the two into one transaction.

  1. 1. Private ballot

    A vote on whichever proposal is open. The weight of your vote is public; that it was you is not. Your stake stays escrowed until voting closes, then you redeem it with the secret this page gives you — keep that secret.

Input

What the pool withdraws to the router before the plan runs.

Step 1

Any contract, any selector, any calldata.

Outputs

Tokens credited back into notes. Leave empty when value leaves for good.

${openNoteIds[0]}

Hidden

  • Which shielded note funded this plan.
  • Which address authored it. The pool pays the router, and the pool is the only party that knows who asked.

Visible

  • That the pool transferred tokens to the Jalin router, and how much.
  • Every contract this plan calls, the selector it calls, and every felt of calldata it is called with. An invoke action carries all three in the clear.
  • The amount credited back into a note, because the pool pulls it by allowance.
  • That a token left entirely: 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d. Where they went is as public as the contract that took them.

Gives it back

  • A single-step plan reveals the same action a direct call would. What it hides is who did it, not what was done.
  • Calldata carries 0x8498d79ca390b34a6416cc45fb375ad9b921eefd8d4531d99a2d775feb3a7e, which is an address this plan does not otherwise name. Calldata is public. If one of them is your own account, the plan says so in the clear and the pool hid nothing.

Needs a wallet that implements wallet_strk20InvokeTransaction. Proving takes around 30 seconds.