Depositors
Deposits and withdrawals
Between rounds, deposits and withdrawals settle in one transaction. During a round they wait as a ticket and are processed at the round’s settlement ratio.
Shares#
A share is a claim on part of the TSLAx the vault holds. The first deposit ever mints one share per TSLAx. After that a deposit mints shares in proportion to what is already there, rounded down. Shares have 8 decimals, like TSLAx.
shares = amount × share supply ÷ TSLAx in the vault
Premium is paid separately, in USDC, and is not part of a share’s value. A share’s TSLAx only changes when calls settle in the money, or through the issuer’s corporate actions.
Between rounds#
From the moment a round closes until the next one starts, the vault is between rounds. In a normal week that is the weekend. Deposits use fund_ready and mint shares immediately; withdrawals use redeem_ready and send TSLAx immediately. Both take a minimum: min_shares for a deposit, min_assets for a withdrawal. If the result would be smaller, the transaction fails and nothing moves. The app sets the deposit minimum to 99.5% of its quote.
During a round#
While a round is in its Auction, Active or Observed phase, requests are queued in a ticket, one per wallet per round. A ticket can hold one deposit and one withdrawal.
Queued deposits#
queue_deposit moves your TSLAx into the round’s deposit account straight away. It does not earn the current round’s premium and does not back its calls. After settlement it is turned into shares at the settlement ratio. If that gives fewer shares than your minimum, the whole deposit is refunded instead. The app sets the minimum to 99.9% of the shares the deposit would buy at the vault’s current ratio.
Queued withdrawals#
request_withdrawal marks shares to be paid out after settlement. They stay in your position and keep earning that round’s premium, but they can’t be moved until the ticket is processed. If the round’s calls finish in the money, the TSLAx you receive reflects that.
The settlement ratio#
When a round settles, the program records the TSLAx left in the vault and the share supply. Every ticket of that round uses this one ratio, so the order of processing changes nothing.
TSLAx per share = TSLAx in the vault after settlement ÷ share supply
Withdrawals get shares × ratio; deposits get amount ÷ ratio. Both round down.Processing tickets#
process_ticket can be sent by anyone once the round is settled. It always pays the ticket’s owner: withdrawn TSLAx goes to the owner’s TSLAx account, and new shares to the owner’s position. The keeper processes every ticket after settlement. If yours is still waiting, the app shows a button to process it yourself.
Account rent#
| Account | Created by | Size | Rent |
|---|---|---|---|
| Position | create_position | 128 bytes | about 0.0018 SOL |
| Share account | create_position | 165 bytes | about 0.0020 SOL |
| Ticket, per round | queue_deposit or request_withdrawal | 130 bytes | about 0.0018 SOL |
Rent is paid by the wallet that creates the account. Shear never closes these accounts, so the rent stays with them.
Moving shares#
transfer_shares moves shares from your position to another wallet’s position; the recipient must have created one. Premium earned before the move stays with you. Shares with a pending withdrawal can’t be moved. The app doesn’t offer transfers; use the SDK.