> For the complete documentation index, see [llms.txt](https://docs.adrena.trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adrena.trade/technical-documentation/position-parameters.md).

# Position Parameters

This page describes the parameters and mechanics that govern how positions are opened, maintained, and closed on Adrena.

***

## Leverage and Position Size

* Maximum leverage and minimum/maximum position size are set per asset
* A **maximum cumulative long position size** cap exists per custody, limiting the total long exposure the pool accepts in a single asset
* These limits protect the pool from excessive directional risk concentration

***

## Opening a Position

Trades execute at oracle price with zero slippage.

For positions in [Autonom Pools](/technical-documentation/autonom-pools.md) (RWA/synthetic assets), the position can only be opened during the asset's defined market hours.

***

## Ongoing Costs While a Position is Open

### 1. Borrow Fee

The borrow fee accrues continuously (per second) based on pool utilization. Adrena uses a **two-slope model**:

* Below the optimal utilization kink: low, gradually rising rate
* Above the optimal utilization kink: steep rate increase

This ensures cheap borrowing at normal utilization and reflects asset scarcity when the pool is heavily used. The optimal utilization level and rate bounds are set per custody.

### 2. Virtual Funding Rate (VFR)

Positions also accrue a [Virtual Funding Rate](/technical-documentation/virtual-funding-rate.md) based on the open interest imbalance between longs and shorts. The majority side pays the minority side at an hourly rate proportional to the imbalance. VFR is settled at position close.

***

## Closing a Position

A flat **close fee** (% of position size) applies at close.

### Open + Collateral Modification Locks

Two separate minimum-age gates apply before a position can be closed:

* **Minimum open time: 4 minutes** (`MIN_POSITION_OPEN_TIME_SECONDS = 240`). A freshly opened position cannot be closed in its first 4 minutes.
* **Minimum wait after collateral change: 2 minutes** (`MIN_POSITION_UPDATE_TIME_BEFORE_CLOSE_SECONDS = 120`). After adding or removing collateral, the position cannot be closed for 2 minutes.

Both gates prevent collateral manipulation to game the exit fee tiers.

***

## Liquidation

A position is liquidated when the remaining collateral falls to the liquidation margin threshold. Key properties:

* **Conservative pricing**: Liquidation prices use the oracle's conservative bound (low for longs, high for shorts)
* **Asymmetric liquidation defense** (GMX pools): Requires backup oracle confirmation before liquidating, preventing liquidations on single-oracle staleness
* **Autonom pool liquidations**: Cannot execute outside market hours (no reliable price available)

***

## Market Hours (Autonom Pools Only)

Positions in [Autonom Pools](/technical-documentation/autonom-pools.md) are subject to the trading hours of the underlying real-world asset. Opening a new position outside market hours returns a `MarketIsClosed` error.

***

## Fee Summary

| Fee                  | Timing     | Basis                         |
| -------------------- | ---------- | ----------------------------- |
| Borrow fee           | Continuous | Per-second, utilization-based |
| Virtual Funding Rate | Continuous | Hourly OI imbalance           |
| Close fee            | At exit    | Flat % of position size       |

See [Fees](/about-adrena/fees.md) for distribution details.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.adrena.trade/technical-documentation/position-parameters.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
