Tool for calculating INDY rewards.
python3 -m venv venv
# Unix-like
source venv/bin/activate
# Windows
.\venv\Scripts\activate
pip install .
Summary (epoch)
$ indy-rewards summary 415
Purpose Amount
INDY staking reward 2397.999981
Reward for providing iBTC liquidity on Minswap 446.794352
Reward for providing iBTC liquidity on WingRiders 1296.403523
Reward for providing iETH liquidity on Minswap 44.112269
Reward for providing iETH liquidity on WingRiders 1518.083264
Reward for providing iUSD liquidity on Minswap 773.708751
Reward for providing iUSD liquidity on WingRiders 715.897850
SP reward for iBTC 7587.745284
SP reward for iETH 7510.028148
SP reward for iUSD 13670.226556
Total INDY staking reward 2397.999981
Total LP reward 4795.000009
Total SP reward 28767.999988
Total 35960.999978
Summary (daily)
$ indy-rewards summary 2023-05-29
Purpose Amount
Reward for providing iBTC liquidity on Minswap 87.805790
Reward for providing iBTC liquidity on MuesliSwap 0.314330
Reward for providing iBTC liquidity on WingRiders 246.196969
Reward for providing iETH liquidity on Minswap 8.319801
Reward for providing iETH liquidity on WingRiders 314.210358
Reward for providing iUSD liquidity on Minswap 155.789009
Reward for providing iUSD liquidity on MuesliSwap 2.432399
Reward for providing iUSD liquidity on WingRiders 143.931346
SP reward for iBTC 1479.633104
SP reward for iETH 1507.802750
SP reward for iUSD 2766.164154
Total LP reward 959.000002
Total SP reward 5753.600008
Total 6712.600010
PKH filter
For example, filtering for these two wallets (PKHs):
aada39748edc9f40ec53f879499a837f6badf180413fc03a7a345609
6699280ab41b732e26e7d3cb02d57f61a76bc8e9a0ceccca4997b812
$ indy-rewards summary --pkh aada --pkh 6699 416
Purpose Amount
INDY staking reward 0.115320
Reward for providing iUSD liquidity on WingRiders 0.021053
Total INDY staking reward 0.115320
Total LP reward 0.021053
Total 0.136373
The PKH (payment key hash) is the wallet address thing shown in the upper right corner of the website, with a wallet connected.
You can filter for one or more PKHs with most commands. You don't have to input the entire PKH, the first few characters generally identify a PKH.
Works with daily and CSV outputs too:
$ indy-rewards sp --pkh d7346fcd 2023-06-13
Period Address Purpose Date Amount Expiration AvailableAt
418 d7346fcd395de69e62f4a2bafbc32af393ceecb3287b0ff4442ff36e SP reward for iETH 2023-06-13 0.707993 2023-09-12 21:45 2023-06-14 23:00
418 d7346fcd395de69e62f4a2bafbc32af393ceecb3287b0ff4442ff36e SP reward for iBTC 2023-06-13 0.000016 2023-09-12 21:45 2023-06-14 23:00
418 d7346fcd395de69e62f4a2bafbc32af393ceecb3287b0ff4442ff36e SP reward for iUSD 2023-06-13 0.006158 2023-09-12 21:45 2023-06-14 23:00
Filtered file output:
$ indy-rewards sp --pkh d7346f --outfile output.csv 2023-06-13
Error if a partial PKH isn't unique:
$ indy-rewards sp --pkh d7 2023-06-13
Usage: indy-rewards sp [OPTIONS] EPOCH_OR_DATE
Try 'indy-rewards sp --help' for help.
Error: Invalid value: PKH start 'd7' matches 6 PKHs. Please use a longer string.
Technically the PKH is one of potentially many PKHs of the wallet. The Indigo
web app uses only the first (/0
) PKH to identify a wallet and to interact
with smart contracts, which is the
payment part
of the wallet's first address.
All rewards for all wallets
Entire epoch. Daily SP, LP, governance rewards for 5 days:
$ indy-rewards all 414
Period,Address,Purpose,Date,Amount,Expiration,AvailableAt
Period Address Purpose Date Amount Expiration AvailableAt
415 198836d653f267dfed06bd383b80539c50f3ab6d6e7e0de11d9b723e SP reward for iETH 2023-05-26 0.001281 2023-08-28 21:45 2023-05-30 23:00
415 43b8e3375ecf90169230d91ce92863d0b041ed4c8668cc87d17ea980 SP reward for iETH 2023-05-26 0.006236 2023-08-28 21:45 2023-05-30 23:00
415 b95d828645f43c1711afad5a374ea6879f95832f50bf249e5e2a8820 SP reward for iETH 2023-05-26 0.372688 2023-08-28 21:45 2023-05-30 23:00
…
Single day:
$ indy-rewards all 2023-05-28
Period Address Purpose Date Amount Expiration AvailableAt
415 198836d653f267dfed06bd383b80539c50f3ab6d6e7e0de11d9b723e SP reward for iETH 2023-05-28 0.001253 2023-08-28 21:45 2023-05-30 23:00
415 43b8e3375ecf90169230d91ce92863d0b041ed4c8668cc87d17ea980 SP reward for iETH 2023-05-28 0.006102 2023-08-28 21:45 2023-05-30 23:00
415 b95d828645f43c1711afad5a374ea6879f95832f50bf249e5e2a8820 SP reward for iETH 2023-05-28 0.364700 2023-08-28 21:45 2023-05-30 23:00
…
File output:
$ indy-rewards all 414 -o 414.csv
SP rewards only
$ indy-rewards sp 415
Period Address Purpose Date Amount Expiration AvailableAt
416 198836d653f267dfed06bd383b80539c50f3ab6d6e7e0de11d9b723e SP reward for iETH 2023-05-31 0.001206 2023-09-02 21:45 2023-06-04 23:00
416 43b8e3375ecf90169230d91ce92863d0b041ed4c8668cc87d17ea980 SP reward for iETH 2023-05-31 0.005873 2023-09-02 21:45 2023-06-04 23:00
416 b95d828645f43c1711afad5a374ea6879f95832f50bf249e5e2a8820 SP reward for iETH 2023-05-31 0.350988 2023-09-02 21:45 2023-06-04 23:00
…
LP rewards only
$ indy-rewards lp 415
Period Address Purpose Date Amount Expiration AvailableAt
416 b8a892490fa5784bf2c73603b7cc0f05a3219fc7901db3e698ad7f11 Reward for providing iBTC liquidity on WingRiders 2023-05-31 0.021726 2023-09-02 21:45 2023-06-04 23:00
416 d522cfaab057a5a8aed4e83723ae0fa5150f007e009aab2e77659701 Reward for providing iBTC liquidity on WingRiders 2023-05-31 0.022166 2023-09-02 21:45 2023-06-04 23:00
416 060fde906d7f945bd899dc8831910340f5afe83da6f576fa9d0040a1 Reward for providing iBTC liquidity on WingRiders 2023-05-31 0.049467 2023-09-02 21:45 2023-06-04 23:00
…
INDY governance staking rewards only
$ indy-rewards gov 415
Period Address Purpose Date Amount Expiration AvailableAt
416 06efd1d2dfa9f2121644765e0bf1d3c2ccc3db6084ef3724de2e901c INDY staking reward 2023-06-04 0.046039 2023-09-02 21:45 2023-06-04 23:00
416 5706ea516b1a0f350b6876b84e02317af4c8b886c74562d9d9cb1764 INDY staking reward 2023-06-04 0.038790 2023-09-02 21:45 2023-06-04 23:00
416 13a1d9bb7849716bd993b520f975175ae1b6720fec18dab37435d095 INDY staking reward 2023-06-04 0.095708 2023-09-02 21:45 2023-06-04 23:00
…
LP token staking INDY APR
Historical APRs, extrapolated either for a day or an epoch, based on: https://docs.indigoprotocol.io/resources/protocol-statistics/apr-apy-calculations.
Keep in mind that APRs can't be predicted, they rely on future events and can change significantly depending on users' actions.
Single day:
$ indy-rewards lp-apr 2023-06-07
iBTC
Minswap: 62.87%
WingRiders: 51.28%
iETH
Minswap: 19.20%
WingRiders: 29.90%
iUSD
Minswap: 5.91%
WingRiders: 5.45%
Epoch 5-day average:
$ indy-rewards lp-apr 416
iBTC
Minswap: 62.60%
WingRiders: 50.77%
iETH
Minswap: 27.06%
WingRiders: 57.56%
iUSD
Minswap: 13.03%
WingRiders: 12.02%
SP staking INDY APR
Single day:
$ indy-rewards sp-apr 2023-06-01
iBTC: 38.20%
iETH: 39.09%
iUSD: 49.12%
Epoch 5-day average:
$ indy-rewards sp-apr 417
iBTC: 66.96%
iETH: 73.64%
iUSD: 84.42%
pip install --editable .
pip install -r requirements-dev.txt
pre-commit install
# Pre-commit checks will automatically run for staged files on git commit.
# This is how to manually run them for all files.
pre-commit run --all-files
# Run tests.
pytest