# Fee Structure

There are 3 fee's that are charged for a position, they are itemized in the table below. All the fee configs can be viewed on a vault's associated `protoConfig` account.&#x20;

<table><thead><tr><th width="243">Value</th><th width="205">Type</th><th>Description</th></tr></thead><tbody><tr><td>tokenADripTriggerSpread</td><td>Fee in Basis Points.</td><td>This spread is applied on every drip for a vault. This can be thought of as a spread on the users source token (token A) whenever a swap is done. This fee is sent to the user that initiates the swap (can be anyone).</td></tr><tr><td>tokenBWithdrawalSpread</td><td>Fee in Basis Points.</td><td>This spread is applied on the accrued destination asset for a position (token b) and is sent to the vault <code>treasuryTokenBAccount</code>.  </td></tr><tr><td>tokenBReferralSpread</td><td>Fee in Basis Points.</td><td>This spread is applied on the accrued destination asset for a position (token b) and is sent to the referrer that was specified during the deposit instruction. See <a href="typescript-guides/deposit">Deposit</a> for details on how to specify the referrer programatically. </td></tr></tbody></table>

{% hint style="info" %}
If a user deposits, creates a position and closes their position before any drips have occurred, not fees are taken and all of their source tokens (token A) are returned.&#x20;
{% endhint %}
