---
# System prepended metadata

title: How to provide native external rewards to WYND DEX Pools

---

## How to provide native external rewards to WYND DEX Pools

This is a technical intro, assuming you have a DAO or Multisig to pay in the external rewards and are using DAO DAO UI tooling to send this.

The biggest challenge is creating the proper JSON. This will guide you though it.

### Preparation

You will need to get some data prepared before you start to create the JSON.

1. How much do you want to pay in? Check the decimals. If your token has 6 decimals, and you want to provide 777 tokens of rewards, you would have `AMOUNT=777000000`.
2. What time will the reward be spread out of. The rewards will be paid out hourly, but not the whole AMOUNT you sent, you can put in 50k tokens and tell the contract to spread it out over the next 30 days. No need for you to pass proposals every hour. You need to know how many seconds from message execution you want to start (`START_TIME`) and how many seconds from execution you want to end (`END_TIME`).
3. Which pool do you want to incentivize. Click on it in the WYND DEX UI and grab the long juno1... address. For example, looking at the url from USDC-JUNO Pool, we get `POOL=juno1gqy6rzary8vwnslmdavqre6jdhakcd4n2z4r803ajjmdq08r66hq7zcwrj`

There is one more piece of info you will need, which is the address of the staking contract for that pool. Please get in touch with the WYND team and provide them your pool address, and they will provide your staking contract address.

### Generating the funding message

We assume that you have discussed with your team the amounts to provide and have a DAO DAO, which holds enough of your tokens and upon which you wish to make a proposal to provide these rewards. How does the JSON look? First, you create the “embedded message” to stake:
```json
{
    "fund_distribution": {
        "curve": {
            "saturating_linear": {
                "min_x": START_TIME,
                "min_y": "AMOUNT",
                "max_x": END_TIME,
                "max_y": 0
            }
        }
    }
}
```

`START_TIME` is the time from message execution when the distribution starts in seconds. Put 0, if you want distribution to start immediately.
Similarly `END_TIME` means how many seconds from now should the distribution finish.

Of course you need to provide native tokens along with the message.

For example, if you want to distribute 1M $JUNO over the course of whole month and start immediately, your message should look like this:
```json
{
    "fund_distribution": {
        "curve": {
            "saturating_linear": {
                "min_x": 0,
                "min_y": "AMOUNT",
                "max_x": 2678400, // 3600 * 24 * 31
                "max_y": "0"
            }
        }
    }
}
```

To see message in contract, please [go here](https://github.com/wynddao/wynddex/blob/25130c21c2066923f87dd85fd3569bb5a1b34a45/contracts/stake/src/msg.rs#L81-L85).