# Fee Vaults

## We have a dedicated page to taking advantage of fees:

<https://www.caviarnine.com/fee-vaults><br>

## Component Addresses

The FLOOP Ecosystem has 2 component vaults:

```shellscript
component_rdx1cqvfnpl0ld49rhwyhu4v3r05962yeplmasggtzlu9r2dmh7amx6vpn
component_rdx1crmhkatyjrw0070nsusdm4adwr5s3eaysmevxlvaxx6fspxkwdhlua
```

The CAVIAR Ecosystem has no fee vaults set up yet as no products have been launched.

```
<coming soon>
```

## Useful Component Arbitrage Methods

There are three methods anyone can call to get some useful information about arbitrage opportunities:

### get\_swap\_vault\_amount

This method returns the amount of TOKENS of a specific RESOURCE\_ADDRESS that are available when swapped for FLOOP. This amount increases over time as protocol fees are collected from the [Aggregator](https://docs.caviarnine.com/products-floop/aggregator), [LSU Pool](https://docs.caviarnine.com/products-floop/lsu-pool), [Shape Liquidity](https://docs.caviarnine.com/products-floop/shape-liquidity) and the [Order Book](https://docs.caviarnine.com/products-floop/order-book).\
\
manifest:

```
CALL_METHOD 
    Address("{COMPONENT_ADDRESS_FEE_VAULTS}") 
    "get_swap_vault_amount"
    Address("{RESOURCE_ADDRESS}");
```

### get\_swap\_price

This method tells you how much FLOOP you need to send for a given RESOURCE\_ADDRESS to receive the amount of TOKENS from the RESOURCE\_ADDRESS vault, (returned from the *get\_swap\_vault\_amount* above). This amount of FLOOP decreases over time, encouraging users to empty the fee vaults.\
\
manifest:

```
CALL_METHOD
    Address("{COMPONENT_ADDRESS_FEE_VAULT}") 
    "get_swap_price"
    Address("{RESOURCE_ADDRESS}");
```

### swap

Finally if you want to send the amount of FLOOP (calculated from get\_swap\_price) for the amount of TOKENS (calculated from *get\_swap\_price*) for RESOURCE\_ADDRESS then you want to do a swap!\
\
manifest:

```
CALL_METHOD 
    Address("{YOUR_ACCOUNT_ADDRESS}") 
    "withdraw" 
    Address("resource_rdx1t5pyvlaas0ljxy0wytm5gvyamyv896m69njqdmm2stukr3xexc2up9")
    Decimal("{AMOUNT_OF_FLOOP}");
        
TAKE_FROM_WORKTOP
    Address("resource_rdx1t5pyvlaas0ljxy0wytm5gvyamyv896m69njqdmm2stukr3xexc2up9") 
    Decimal("{AMOUNT_OF_FLOOP}")
    Bucket("my_bucket_of_floop");

CALL_METHOD
    Address("{COMPONENT_ADDRESS_FEE_VAULT}")
    "swap"
    Bucket("my_bucket_of_floop")
    Address("{RESOURCE_ADDRESS}");
        
CALL_METHOD 
    Address("{YOUR_ACCOUNT_ADDRESS}")
    "deposit_batch" 
    Expression("ENTIRE_WORKTOP");
```

## Handy Api Endpoint

To make things a little simpler, we've added an API endpoint where you can see all the resource vaults, their values and the redemptions amounts (FLOOP or CAVIAR) here:

```
https://api-core.caviarnine.com/v1.0/fee_vaults
```

Currently this endpoint is in real time (and we'd like to leave it like that) but if it get's abused we'll cache it every X minutes which would be a shame.
