# Smart Contracts Development

Welcome to the DeFindex Smart Contract Development Guide! This guide will help you understand how to create a strategy that uses your protocol.

## What is a DeFindex Vault?

DeFindex vaults let users deposit tokens into a pooled account that automatically executes diversified yield strategies across DeFi protocols. The vault issues shares representing each depositor’s stake, rebalances holdings to capture returns and reduce risk, and provides simple actions like deposit, withdraw, and view balance — all without users having to manage multiple protocols themselves.

## What is a DeFindex Strategy?

A DeFindex Strategy is a smart contract that implements a specific investment logic for a DeFi protocol. In other words, it is the connection to a DeFi protocol. Also, It allows users to automate complex DeFi operations and optimize their yield through a single interface.

It only needs to comply with the strategy interface, which can be found in [github](https://github.com/paltalabs/defindex/blob/main/apps/contracts/strategies/core/src/lib.rs). Once it complies with this interface, it can be used by vaults.

## Resources

1. Review the [Strategy Contract](/advanced-documentation/10-whitepaper/04-contracts/02-strategy-contract.md) on whitepaper docs
2. Check out our [Strategies](https://github.com/paltalabs/defindex/blob/main/public/mainnet.contracts.json)
3. Join our [developer community](https://discord.gg/ftPKMPm38f) for support


---

# 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.defindex.io/advanced-documentation/developer-introduction.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.
