Two create modes
You can create a wallet either:- from a policy with
policyId - from an inline
initialUser
policyId is omitted, the backend can create a no-recovery wallet from the
inline authority you provide. Common authority shapes are ed25519,
secp256k1, and secp256r1.
Basic create flow
secp256r1:
secp256k1:
What you get back
The result is not just one transaction. It is a categorized create plan:| Field | Meaning |
|---|---|
wallet | the config address and wallet address |
transactions | full ordered transaction list |
clientAuthorityTransactions | transactions the initial authority must sign |
operatorSignedTransactions | transactions already signed by the backend operator |
feePayerOnlyTransactions | transactions that only need fee payer or sponsor handling |
Recovery-enabled create flows
If the policy is recovery-enabled and the SDK can derive both the requester authority and guardian information,create(...) also returns
recoverySetup.
That setup plan is not the same thing as completed recovery setup. It is the
follow-up input for wallet.recovery.prepareSetup(...).
What to submit
Always submit the preparedtransactions in order. Do not reorder the list.
If clientAuthorityTransactions.length > 0, those transactions must be signed
by the client authority before submission.
If operatorSignedTransactions.length > 0, treat them as already operator
signed. They still need fee payer or sponsor submission, but not another
authority signature.
What to read next
- Use Transfers and Swaps for wallet actions after create
- Use Recovery if the created wallet should support a guardian flow
- Use Client Signing for Ed25519, passkey, and EVM client signatures
- Use Sponsor & Submit if your app wants Swig-backed fee sponsorship

