Orders and custody
Where funds sit
Swaps (Cast) settle in one transaction from your wallet back to your wallet.
Price orders (Entry, Guard, Target, Ladder) work differently. When you place one, you sign a deposit that moves the order's amount from your wallet into a vault account that the order engine holds for your wallet. This vault is custodial: it is run by the order engine and its wallet provider, not by you and not by Zauber. The funds stay there while the order is open. When the order fills, the proceeds are sent back to your wallet. When you cancel, or after it expires, you sign a withdrawal and the funds return to your wallet.
Zauber never holds funds, never holds your keys and cannot move funds from the vault. Withdrawals need a transaction signed by your wallet. The order engine's sign-in token alone can cancel or edit an order but cannot withdraw funds.
Statuses
| Status | Meaning |
|---|---|
| Pending | The deposit is being processed |
| Waiting | The order is open and watching the price |
| Filling | The price was reached and the swap is in progress, or the order is partly filled |
| Filled | Done; proceeds were sent to your wallet |
| Withdrawing | Cancellation started; the order no longer fills; sign the withdrawal |
| Cancelled | Cancelled and funds returned |
| Expired | Not filled before its expiry; funds wait in the vault until you withdraw them |
| Failed | The deposit or the execution failed |
Orders placed by one cast are grouped under it in the Orders table.
Partial fills
A price order can fill in parts. The Orders table shows "Filling · N% filled" until it completes. When an order triggers, it swaps at the market price at that moment, so the amount you receive can differ from the level you set.
Expiry
Every price order has an expiry; there is no "never". Zauber sets 30 days by default (adjustable in Settings, 1 to 30 days). An expired order keeps its funds in the vault until you withdraw them from Orders.
Cancel
Cancelling takes two steps:
- Stop the order. It stops filling immediately, even before you sign anything.
- Sign the withdrawal. Your wallet asks for a transaction that returns the funds from the vault to your wallet.
If the withdrawal is rejected or fails, the order stays in "Withdrawing" and Try again asks for the same withdrawal.
Editing
You can change the levels of an order while it is Waiting (open). In Orders or under Active orders in the terminal, open the row menu (⋮) and choose Edit levels. The same price and % fields as in the terminal appear; the % is measured from the current market price.
What you can change:
| Order | Levels you can edit |
|---|---|
| Entry or Guard | The trigger price and the slippage |
| Trailing Guard | The trailing distance (0.5% to 90%) and the slippage |
| Guard + Target | The Target and the Guard; the Target must stay above the Guard |
| Entry + Guard + Target | The Entry, the Target and the Guard |
- The form shows every level before and after your change, with the current market price. Save levels stays off until something changes.
- If a new level is already reached at the market price (for example a Guard above the price), the form says so and asks you to confirm: the order may trigger and swap as soon as it is saved.
- Nothing is signed and no funds move. The order engine updates the order in place; the deposit stays in its vault. The only exception: if your session with the order engine has expired, the review sheet asks you to sign the order-engine sign-in again (a message, or a sign-in transaction that is never submitted), and then saves the edit.
- The order type stays the same. A fixed-price order cannot become a trailing one or the other way round, and the amount cannot change. To change those, cancel and cast again.
- Only open orders can be edited. Orders that are filling (including partly filled), withdrawing, filled, cancelled or expired cannot.