Aster USDF 백서

Aster USDF

원문

bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 42쪽 중 22쪽

ee rate = Max((100 × 15%) / 600, 0.03%) = 0.03%* **Note**: In the event of liquidation, the 85% liquid loss rate includes this closing fee. ### **Execution Fee** This fee covers network costs and ensures smooth order execution. It is charged only when a position is opened. * BNB Chain: $0.50 * Arbitrum: $0.20 ### **Forex Perpetual Contracts (only on BNB Chain)** <figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2FtJfp5G5EQfT4yvPDZ9s1%2Fimage.png?alt=media&amp;token=24e24bbf-f185-44f5-89a0-115ad8a999cd" alt="" width="179"><figcaption></figcaption></figure> ### **Funding Rate** The funding rate helps balance long and short positions on 1001x. It protects the ALP from excessive risk exposure and reduces the pool’s exposure to large open positions. Funding is calculated **every block**. When market conditions change, the accumulated funding fee is automatically updated. This fee is reflected in a position’s **unrealized PnL** and directly affects the **liquidation price**. * If the user holds a **long** position, the fee uses the **long funding rate** * If the user holds a **short** position, the fee uses the **short funding rate** #### **Funding Fee Formula** > *Funding fee per block = (Number of contracts × Price) × Funding rate per block* #### **Funding Rate Per Block** The funding rate per block is determined by the gap between long and short open interest and the platform’s current borrow rate. **When long positions > short positions:** * Long basic funding rate = -abs(funding rate p) * Short basic funding rate = abs(funding rate p) **When short positions > long positions:** * Short basic funding rate = abs(funding rate p) * Long basic funding rate = -abs(funding rate p) #### **Final Funding Rate** * Long funding rate = Long basic funding rate − Borrow rate &#x20; * Short funding rate = Short basic funding rate − Borrow rate #### **Borrow Rate** The borrow rate is reviewed and adjusted regularly as part of platform risk management. It is influenced by: * The size of the position * The time the position is held <figure><img src="https://apollox-finance.gitbook.io/~gitbook/image?url=https%3A%2F%2F86643275-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKgTrH6FlpxEZKMS3bN7R%252Fuploads%252FdDz79MnN66rRRSHClfEm%252Fimage.png%3Falt%3Dmedia%26token%3Da5ab0f83-828c-477c-96e9-3fcb3f9b7875&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b6d1c5cd&#x26;sv=2" alt="" width="563"><figcaption></figcaption></figure> #### **Base Interest Rate Per Block** The base interest rate per block is used to help calculate the borrow rate dynamically, based on recent market volatility. > *Base interest rate per block = Base interest rate / (365 × 28,800)* Where: * Base interest rate = k × HV * k = Adjustment factor (default: 1.25, platform adjustable) * HV = Historical volatility = 2-week average volatility × 365 This allows the platform to adjust borrow costs dynamically in response to volatility. For more, see the historical volatility & base interest rate below: ![](https://apollox-finance.gitbook.io/~gitbook/image?url=https%3A%2F%2F86643275-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FKgTrH6FlpxEZKMS3bN7R%252Fuploads%252F8knme1A3VfJbsoVcN6d5%252Fimage.png%3Falt%3Dmedia%26token%3D42a46633-36ef-4662-81dd-ffc78d61c474\&width=768\&dpr=4\&quality=100\&sign=cf88dfa1\&sv=2)[119KBHV\&BaseInterestRate.xlsx](https://86643275-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgTrH6FlpxEZKMS3bN7R%2Fuploads%2FVyhBYUAEUAV7xKbA4Lx6%2FHV%26BaseInterestRate.xlsx?alt=media\&token=20619efe-eee9-4793-baf4-33ebdc431f23) ### **Liquidation** <a href="#liquidation" id="liquidation"></a> Liquidation occurs when a position’s mark price reaches its **liquidation price**. This price is determined by factors like leverage, margin, funding, and the platform’s liquidation loss rate. #### **Liquidation Price Distance** The liquidation price distance is calculated as: > *Liquidation price distance = Entry price × (Initial margin × Liquidation loss rate + Cum funding fee) / Initial margin / Leverage* #### **Liquidation Price Formulas** For long positions: > *Liquidation price = Entry price − Liquidation price distance* For short positions: > *Liquidation price = Entry price + Liquidation price distance* #### **Parameter Definitions** * Entry price: The price at which the position is opened * Initial margin: The collateral the trader deposits to open the position * Liquidation loss rate: The default platform-defined loss factor during forced liquidation (default: 90%) * Cum funding fee: The total accumulated funding fees since the position was opened * Leverage: The leverage multiple selected by the user #### Example If a trader opens a long ETH/USD position at 10× leverage with: * Entry price: $1,500 * Initial margin: $100 * Funding fee: $2 * Liquidation loss rate: 85% Then: > Liquidation price distance = 1,500 × (100 × 85% + 2) / 100 / 10 > > \= 1,500 × (85 + 2) / 1,000 > > \= 1,500 × 87 / 1,000 > > \= 130.5 > > Liquidation price = 1,500 − 130.5 = 1,369.5 ### **Slippage** <a href="#liquidation" id="liquidation"></a> Slippage on 1001x can be either **fixed** or **dynamic**, depending on the trading pair. The platform determines the slippage type based on the liquidity of the pair’s underlying assets, as observed from its oracle sources. This mechanism helps prevent price manipulation. In general: * **Slippage increases** when open interest and new position size increase * **Slippage decreases** when oracle-source liquidity improves #### **Fixed slippage (BTC, ETH, and forex pairs)** Fixed slippage is used for high-liquidity pairs like BTC/USD, ETH/USD, and forex contracts. **Example:** If a trader opens a long ETH/USD position when the Pyth oracle price is $1,500 and the slippage is 0.01%: > *Entry price = 1,500 + (1,500 × 0.01%) = 1,500.15* Because liquidity differs across trading pairs and source markets, slippage levels also vary by asset. In general, pairs with lower liquidity will experience wider spreads. #### **Dynamic Slippage (all other trading pairs)** Dynamic slippage is used for trading pairs that don’t qualify for fixed slippage. It is calculated based on **ALP exposure**, current **open interest**, and the **size of the user’s new position**. **Formulas:** > *Long dynamic slippage (%) = (New position + Symbol long open interest) / 1% depth above* &#x20; > *Short dynamic slippage (%) = (New position + Symbol short open interest) / 1% depth below* Where: * New position: Size of the user’s order * Long/short open interest: Current open interest for the symbol in each direction * 1% depth above / below: Aggregated spot market depth within ±1% of the index price, based on major source markets This design ensures that slippage scales with market impact and liquidity — helping maintain fairness and pool stability. # Degen Mode 500x, 750x, or, 1001x Leverage. 0 open position fees. 0.01% slippage. Degen Mode offers traders high-leverage perpetual trading. During periods of high volatility, traders can maximize their gains with high leverage and extremely low fees. In low volatility, traders can speculate on minor price movements. Degen Mode is currently available for BTC/USD, supporting a maximum leverage of 1001x for both long and short market orders. Traders just need to connect a wallet and input a collateral amount before opening a position. There is 0.01% slippage for BTC/USD. ### **Degen Mode Features** **Lower price slippage** 0.01% slippage for BTC/USD. For lower leverage, trading pairs have either fixed or dynamic slippage. **0 opening fees** Trading fees do not apply for opening orders. For classic trading pairs and leverage <500x for BTC/USD, 0.08% trading fees apply. **Dynamic closing fee** A dynamic PnL fee will be applied for closing positions. This fee is designed to charge fees based on PnL and protect users from losses.&#x20; **Unable to add margin to positions** Unlike lower leverage, traders currently cannot add margin to open positions in Degen Mode and are advised to proceed cautiously and assess risk before opening positions. ### **Liquidation** Liquidation price distance = Entry price \* (Initial margin \* Liquidation lost rate + Accumulated funding fee) / Initial margin / Leverage **Liquidation price** * Long: Entry price - Liquidation price distance * Short: Entry price + Liquidation price distance **Definitions** * *Entry price* is the price at which the trader opens a position * *Initial margin* is the user's initial collateral used as margin * *Liquidation lost rate* is the forced liquidation lost rate. The default value is 60%. * *Leverage* is the user's selected leverage multiple ### **How to Trade Degen** 1. Access Degen Mode from 1001x tab. 2. Connect your wallet, enter your collateral amount, and select a leverage. 3. Click on Advanced to select take profit/stop loss thresholds. 4. The maximum net profit ROI will be around 500% for 500x and 750x, and 300% for 1001x. <figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2FVzDeMceS2V3K5hXUTuvm%2FScreenshot%202025-08-19%20at%2018.48.54.png?alt=media&amp;token=a7ab9fe0-8469-40cd-95a2-7d69632b140e" alt=""><figcaption></figcaption></figure> # Dynamic Fee for Degen Mode Aster has introduced a dynamic fee model for Degen Mode, designed to tie closing fees to your position's PnL and protect users from losses. ### **How It Works** The closing fee rate is calculated using three inputs: the position's profit or loss, the notional value, and a minimum floor rate. $$\text{closeFeeRate} = \max \left( \frac{\text{pnl} \cdot \text{shareRate}}{\text{notinal}}, \text{closeMinRate} \right)$$ Where: * **PnL** is the profit or loss on the position * **shareRate** is the percentage of the notional value charged as a fee * **notional** is the total value used to open the position * **closeMinRate** is the minimum closing fee rate: the lowest fee that can be applied when closing a position ### Parameters * shareRate: 15% (default) * closeMinRate: 0.03% (initial) ### **Example** For a position with $100 in profit, a 15% share rate, and a $600 notional: Closing fee rate = Max(100 × 15% / 600, 0.03%) = 0.03% In this case, the minimum closing fee rate of 0.03% applies. ### **Execution Fee** The execution fee is charged only when opening a position. It is set at $0.50 (BNB Chain) or $0.20 (Arbitrum), consistent with the fee charged on standard perpetuals trades. <br> # Dumb Mode Dumb Mode is a forecast-based trading feature that lets users predict minute-by-minute price movements of an underlying asset. Trades settle based on the asset's entry and expiry prices. Available on both BNB Chain and Arbitrum. ### **How to Place a Dumb Mode Order** <figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2FdNpLtyoXjlBN4vGQbNdQ%2F%E6%88%AA%E5%B1%8F2025-04-21%2016.04.08.png?alt=media&amp;token=7f35524c-44cc-463d-baac-1168db00290b" alt="" width="563"><figcaption><p>Choosing the expiration period</p></figcaption></figure> #### **Setting the Expiration Period** 1. **Toggle to Dumb Mode.** Switch between Perp and Dumb modes and confirm you're in Dumb Mode. 2. **Select your asset and expiration period.** Choose the asset you want to trade and set how long until the position expires. #### **Available Expiration Windows** For BTC/USD and ETH/USD: * 5 minutes: Maximum ROI of 77% * 15 minutes: Maximum ROI of 80% * 30 minutes: Maximum ROI of 82% For all other pairs: * 30 minutes: Maximum ROI of 72% * 1 hour: Maximum ROI of 77% #### **Opening a Position** Choose a default percentage or enter the principal amount manually. #### **Important Notes** **Expiration timer:** The countdown starts when the transaction is confirmed on the blockchain, not when you click Long or Short. **Entry price:** The price shown is for reference only. Your actual entry price is locked in at the moment the transaction confirms on-chain. ### **Profit and Loss Conditions** **Long position** * If expiry price > entry price: you profit (subject to performance adjustments) * If expiry price ≤ entry price: you lose your entire principal **Short position** * If expiry price < entry price: you profit (subject to performance adjustments) * If expiry price ≥ entry price: you lose your entire principal ### Fees There are no open or close fees in Dumb Mode. A 6% fee on the principal applies to winning trades only, and is already factored into the displayed ROI figures. # Managing Positions On 1001x, all positions are isolated. This means each position uses its own margin, and losses are limited to that position only. You can track and adjust your open positions directly in the app. ### **View Your Positions** The position panel displays all open positions associated with your connected address. Each row includes: * Trading pair (e.g. BTC/USD) * Position direction (long or short) * Position size * Entry price * Mark price * Liquidation price * Estimated PnL ### **Close a Position** To close a position, click Close on the position row. This will place a market order in the opposite direction of your current position and fully close it. For example: * A long position of 1 ETH will trigger a market sell of 1 ETH * A short position of 1 BTC will trigger a market buy of 1 BTC You can also partially close a position by adjusting the order size before confirming. ### **Edit Margin** If your leverage is below 500×, you can add margin to your open position at any time by clicking on the "+" icon. This can reduce your liquidation risk. Note: Adding margin is not supported for positions using 500× leverage or higher. # Order Types In 1001x, the following order types are available: #### **Market Order** A market order is a buy or sell order that is executed immediately at the best available price in the market. #### **Limit Order** A limit order allows you to set a specific price at which you want to buy or sell. The order will only be executed if the market price reaches your specified limit price. **Limit buy order:** Executed when the market price reaches or falls below your specified price. **Limit sell order:** Executed when the market price reaches or rises above your specified price. **Note:** There is no guarantee that a limit order will be filled. #### **Take Profit Order** A take profit order is a type of limit order that closes an open position at a specified price to secure profits. #### **Stop Loss Order** A stop loss order is designed to limit potential losses by closing an open position at a specified price. #### **Important Considerations** **Fees:** Both an opening fee and an execution fee are charged when a position is opened. These fees are factored into the leverage amount. **Order execution:** Trade orders may not be executed even if the target price is reached due to the following reasons: * **Mark price discrepancy:** The mark price, which is an aggregated price from various exchanges, did not reach the target price. * **Insufficient time at target price:** The target price was reached but did not remain at that level long enough for the order to be executed. Order size exceeds available open interest: The total size of all open positions in that direction. Your order may not be filled if it's larger than what the market can support. # Direct Contract Interaction For 1001x Some users choose to interact directly with the contract for full control, automation, or when the app interface is unavailable or limited. ### How to Get Trading Pair Information * **Contract address**: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0 * **Method**: ParisV3 #### **Response:** ``` struct LeverageMargin { uint256 notionalUsd; uint16 tier; uint16 maxLeverage; uint16 initialLostP; // 1e4 uint16 liqLostP; // 1e4 } struct SlippageConfig { string name; uint256 onePercentDepthAboveUsd; uint256 onePercentDepthBelowUsd; uint16 slippageLongP; // 1e4 uint16 slippageShortP; // 1e4 uint16 index; ISlippageManager.SlippageType slippageType; bool enable; } struct FeeConfig { string name; uint16 index; uint16 openFeeP; // 1e4 uint16 closeFeeP; // 1e4 bool enable; uint24 shareP; // 1e5 uint24 minCloseFeeP; // 1e5 } struct PairView { // BTC/USD string name; // BTC address address base; uint16 basePosition; PairType pairType; PairStatus status; uint256 maxLongOiUsd; uint256 maxShortOiUsd; uint256 fundingFeePerBlockP; // 1e18 uint256 minFundingFeeR; // 1e18 uint256 maxFundingFeeR; // 1e18 LibPairsManager.LeverageMargin[] leverageMargins; uint16 slippageConfigIndex; uint16 slippagePosition; LibPairsManager.SlippageConfig slippageConfig; uint16 feeConfigIndex; uint16 feePosition; LibFeeManager.FeeConfig feeConfig; uint40 longHoldingFeeRate; // 1e12 uint40 shortHoldingFeeRate; // 1e12 } ``` ### **How to open a position at the opening price** <a href="#id-1.-how-to-open-a-position-at-the-opening-price" id="id-1.-how-to-open-a-position-at-the-opening-price"></a> * **Contract address:** 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0 * **Method**: openMarketTrade * **Parameters**: data (tuple) Tuple: A tuple is an array of values e.g. \[ "0x4sd…","100","100"..]. It can contain strings, integers, and boolean values. The structure for this tuple is: ``` struct OpenDataInput { // Pair.base address pairBase; bool isLong; // BUSD/USDT address address tokenIn; uint256 amountIn; // tokenIn decimals uint256 qty; // 1e10 // Limit Order: limit price // Market Trade: worst price acceptable uint256 price; // 1e8 uint256 stopLoss; // 1e8 uint256 takeProfit; // 1e8 uint256 broker; } ``` **Example**: If the user wants to use 100 USDT to place a pending order for a BTC Long position with Price 20000, Quantity 0.001, Take Profit Price 25000, and Stop Poss price 19000, the inPutData should be:\["0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c","True","0x55d398326f99059fF775485246999027B3197955","100000000000000000000","10000000",,"2000000000000"2500000000000","1900000000000",1] ### **How to place a limit order** <a href="#id-2.-how-to-place-a-limit-order" id="id-2.-how-to-place-a-limit-order"></a> * **Contract address**: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0 * **Method**: createLimitOrder( * **Parameters**: data (tuple) ``` struct OpenDataInput { // Pair.base address pairBase; bool isLong; // BUSD/USDT address address tokenIn; uint256 amountIn; // tokenIn decimals uint256 qty; // 1e10 // Limit Order: limit price // Market Trade: worst price acceptable (acceptable price=index Price*(1+/- spread) uint256 price; // 1e8 uint256 stopLoss; // 1e8 uint256 takeProfit; // 1e8 uint256 broker; } ``` ### **How to check a user’s position information** <a href="#id-3.-how-to-check-users-position-information" id="id-3.-how-to-check-users-position-information"></a> ``` query OrderAndTradeHistorys { orderAndTradeHistories( skip: 0 first: 1000 orderBy: timestamp orderDirection: desc where: { user: "0x04e5fe43af1306e5fc2d4b0f9daa04d3a587b28f" } ) { id orderOrTradeHash actionType timestamp marginIncrement txHash limitOrder { id pair { name } isLong token { symbol } amountIn limitPrice qty takeProfit stopLoss } trade { id pair { name } isLong token { symbol } margin entryPrice qty openFee executionFee closeType closePrice closeFee fundingFee holdingFee pnl actualPnl broker { name } } user { id } } } ``` ### **How to check an open order** <a href="#id-4.-how-to-check-open-order" id="id-4.-how-to-check-open-order"></a> * **Contract address**: 0x1b6f2d3844c6ae7d56ceb3c3643b9060ba28feb0 * **Meth
프로젝트로 돌아가기