# Staking Contract Audit

We have had our staking contract audited by Cyberscope (a leading smart contract auditor)\
\
It passed audit :tada:\
\
The full audit is here

{% file src="<https://3157490457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRRAl1ruYT1ocCVUHNcn%2Fuploads%2FwBZUJHRgWBIhwvgqrqul%2FTradeDividends_staking_audit.pdf?alt=media&token=45e13773-f6eb-48f2-9e21-025e6b9ce02a>" %}

There were 2 medium issues raised, all of which we are happy to accept as this is by design.<br>

1. **Inconsistent Epoch Identification** - the contract allows tokens to be staked even though the epoch has not yet started, meaning that tokens can be staked before an epoch has started.\
   This is seen as a medium risk because staking should be consistent, however, we have designed the contract this way to allow users to stake for Epoch 1 in advance.<br>
2. **Inconsistent pre-epoch unstake** - the contract allows users to unstake only once before epoch 1 begins. All other epochs allow multiple unstakes. This is by design as the 1 week pre-epoch 1 period is for epoch 1 staking. Users will unlikely wnt to unstake more than once during this period. Once epoch 1 is started users can unstake as much as they want.
