> For the complete documentation index, see [llms.txt](https://docs.tokensfarm.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tokensfarm.com/for-developers/perpetualtokensfarmsdk.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.tokensfarm.com/for-developers/perpetualtokensfarmsdk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
