# Building on Aura

{% hint style="info" %}
These docs are still a work in progress. Reach out on Discord if you have any requests or get stuck integrating
{% endhint %}

### Finding the contracts

Find all Aura contracts here:

{% embed url="<https://github.com/aurafinance/aura-contracts>" %}

With modified code from the Convex platform here:

{% embed url="<https://github.com/aurafinance/convex-platform>" %}

### Depositing BPTs

All gauge deposit pools are 4626 vaults, with the `asset` being Balancers LP token (BPT). Simply approve the reward pool and call the `deposit` function.

Find the reference implementation here:

{% embed url="<https://github.com/aurafinance/convex-platform/blob/lite/contracts/contracts/BaseRewardPool4626.sol>" %}

{% hint style="warning" %}
Note: `auraBAL` and `vlAURA` reward contracts are not on the 4626 standard&#x20;
{% endhint %}

{% hint style="warning" %}
Note: **StashToken** contracts are not ERC20 compliant. \
\&#xNAN;*`convex-platform/contracts/contracts/StashToken.sol`* is designed to interact only with **VirtualBalanceRewardPool** and **ExtraRewardStashV3**. Any`extraRewards` is distributed by a VirtualBalanceRewardPool, which is linked to a StashToken, the StashToken wraps the `extraReward` as a `baseToken`.
{% endhint %}

{% hint style="info" %}
Aura is price agnostic and thus does not require oracles.  Flash loans or any other type of price manipulation or front running do not affect the Aura system.
{% endhint %}
