# PerpetualTokensFarmSDK

**INFO** : `PerpetualTokensFarmSDK.sol` is contract that serves to help other projects to integrate staking system into them. We are providing audited code that is going to help yours project to reward yours clients by earning them rewards cause they are holding your token .\
\
This is the flow of usage of this feature:

• First client comes to us providing the address of the contractAdmin(contract that is going to use our SDK)

• Our developers are deploying the TokensFarmSDK.sol contract with yours contract address inside of the initialisation so SDK can know who can only report the stakes and withdrawals

• Once developers deploy contract, we are going to provide library and list of the functions that you are going to integrate with help of our developers

• Interface called ISDK.sol contains functions that are only callable by the contract that you provided

• Getters are public so you can fetch them by directly calling functions from contract&#x20;

• Setters are changing the state of the contract so we took precaution and implemented security system into our TokensFarmSDKFactory.sol and this is the contract that is the owner of the SDK contract and only through that contract we can change the state of the farm

PerpetualTokensFarmSDK is the repetitive TokensFarmSDK. It has the ability to have multiple rewarding periods witch are called epochs &#x20;


---

# 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.tokensfarm.com/for-developers/perpetualtokensfarmsdk.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.
