prepare_solana_nonce_init
Initialize a deterministic durable-nonce account for a Solana wallet. Use this standalone setup before complex transactions like Jupiter swaps that cannot auto-bundle the nonce init.
Instructions
Explicit one-time setup of a per-wallet durable-nonce account at the deterministic PDA PublicKey.createWithSeed(wallet, 'vaultpilot-nonce-v1', SystemProgram.programId). MOST USERS DO NOT NEED TO CALL THIS DIRECTLY — prepare_solana_native_send / prepare_solana_spl_send auto-bundle the same setup into the user's first send. Use this tool when the user wants the setup standalone (e.g. before a Jupiter swap or MarginFi action, which can't safely auto-bundle due to size + ALT constraints), or to re-init after a prepare_solana_nonce_close. Costs ~0.00144 SOL rent-exempt seed + ~0.000005 SOL tx fee; the rent is fully reclaimable via prepare_solana_nonce_close. Refuses if a nonce account already exists at the derived PDA. This init tx uses a regular recent blockhash (no nonce to use yet — same constraint that makes auto-bundling possible inside native/SPL sends).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Solana wallet that will own (and authorize) the durable-nonce account. The nonce account address is derived deterministically via PublicKey.createWithSeed(wallet, 'vaultpilot-nonce-v1', SystemProgram). No separate keypair or backup is needed — the same wallet + seed always produces the same PDA. |