# Position

The `Position` represents information on a user/account's DCA. It keeps track of a users withdrawal and deposits and is owned by the `Vault`. Authority of the `Position` is given to whoever owns the NFT token that has a `mint == position_authority.`<br>

```rust
pub struct Position {
    // The A/B/G vault the position belongs to
    pub vault: Pubkey, // 32
    // The position authority NFT mint
    pub position_authority: Pubkey, // 32
    // The address to send referral fees too
    pub referrer: Pubkey, // 32
    // Total deposited
    pub deposited_token_a_amount: u64, // 8
    // Total withdrawn B (amount sent to the user + amount sent to the treasury)
    pub withdrawn_token_b_amount: u64, // 8
    pub deposit_timestamp: i64,        // 8
    // The drip period ID of the vault that happened prior to the user opening this position
    pub drip_period_id_before_deposit: u64, // 8
    // Number of drips/Swaps that this position will be a part of
    pub number_of_swaps: u64, // 8
    // deposit_amount_token_a / number_of_swaps
    pub periodic_drip_amount: u64, // 8
    pub is_closed: bool,           // 1
    pub bump: u8,                  // 1
}
```


---

# Agent Instructions: 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.dcaf.so/products/drip/programming-model/position.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.
