# On-chain Tasks

TaskOn currently supports various `on-chain templates`, including `Swap`, `Add Liquidity`, `Lending`, `NFT Holder`, `Token Balance`, `Gas Fee Spent Amount`, `Number of Transactions`, and more. You can set up on-chain tasks based on your own requirements.

## Swap

1. Choose DEX, TaskOn Community now support `Uniswap`, `Pancake Swap`, `Curve`.
2. Choose Swap, enter the network, and tokens.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FfifJPvqpPBZS4iN1CUpI%2F%E6%88%AA%E5%B1%8F2024-03-18%2014.43.32.png?alt=media&#x26;token=86a56803-1825-436f-b0c1-8bb4a5caefbc" alt="" width="563"><figcaption></figcaption></figure>

3. Set Value Requirement

Three types: `At least`, `Less than`, `In the range`. Enter the number.

And you also can set the times of swap.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FbaUZHiqEFeLr29Gg6bUb%2F%E6%88%AA%E5%B1%8F2024-03-18%2014.46.08.png?alt=media&#x26;token=0982a745-bfd4-4b6f-9bb5-4607e5e89374" alt=""><figcaption></figcaption></figure>

4. Finish Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).

## Add Liquidity

1. Choose DEX, TaskOn Community now support `Uniswap`, `Pancake Swap`, `Curve`.
2. Choose `Add Liquidity`, add description of the task and select the network.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FolNaCImaN7NJJA6aXLa0%2F%E6%88%AA%E5%B1%8F2024-03-18%2015.50.47.png?alt=media&#x26;token=3c256447-e8ec-4f72-be7d-a38f11af7aff" alt=""><figcaption></figcaption></figure>

3. Select `Quote` token and `Base` token.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fe6XMv2mUuGeuJ7E7Datz%2F%E6%88%AA%E5%B1%8F2024-03-18%2015.52.16.png?alt=media&#x26;token=a32d72d7-9a20-4ea3-ae2d-171c1eba63b0" alt=""><figcaption></figcaption></figure>

4. Set Value Requirement: `At least`, `Less than`, `In the range`.

You can also set the times of transaction.

5. Click on "`Test this task`" to verify the task process.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fmi7hF08oeapgw5LMBLCn%2F%E6%88%AA%E5%B1%8F2024-03-18%2015.53.40.png?alt=media&#x26;token=81e7d81d-5a62-441f-b8a6-5c31584452cf" alt=""><figcaption></figcaption></figure>

6. Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).

### NFT Holder

1. Click on "`Wallet Balance`”,   select "`Specific NFT Holder`".
2. Select Network

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2F0YpCh7u01USl0o3EZIh8%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.04.15.png?alt=media&#x26;token=12cabad0-dd99-4442-993e-65b404df92d4" alt=""><figcaption></figcaption></figure>

3. Choose NFT.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fi4wx2lr72MSwMgAay78c%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.06.45.png?alt=media&#x26;token=27117dfb-f6f1-4f2b-97b9-225be2a151fa" alt=""><figcaption></figcaption></figure>

If it do not show any NFT collection, please click on "`Add New NFT`", and enter the `NFT contract address`.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FOttBxG4nc6Bu0dH2iA94%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.06.48.png?alt=media&#x26;token=c4b69258-c4c6-4f71-9ee9-c5200b1790cd" alt=""><figcaption></figcaption></figure>

4. Set Value Requirement: `At least`, `Less than`, `In the range`.

You can also set the times of transaction. (optional)

5. Click on "`Test this task`" to verify the task process.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fmi7hF08oeapgw5LMBLCn%2F%E6%88%AA%E5%B1%8F2024-03-18%2015.53.40.png?alt=media&#x26;token=81e7d81d-5a62-441f-b8a6-5c31584452cf" alt=""><figcaption></figcaption></figure>

6. Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).

### Token Balance

1. Click on "`Wallet Balance`",  click on "`Minimum Token Balance`".
2. Select network, choose the token.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FuSaH4vqnUKOIgbQPq2KM%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.10.32.png?alt=media&#x26;token=396c6cd0-0412-4315-b424-f61a0e6e69aa" alt="" width="563"><figcaption></figcaption></figure>

3. Set Value Requirement: `At least`, `Less than`, `In the range`.

You can also set the times of transaction. (optional)

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FghnSuXi9A3HMD8ho7U08%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.16.12.png?alt=media&#x26;token=328dc327-31c6-4b98-b77a-3b5a28c6f923" alt="" width="563"><figcaption></figcaption></figure>

4. Finish Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).

### Gas Fee Spent Amount

1. Choose `Gas Related`, click on "`Gas Fee Spent Amount`"
2. Select network
3. Set Value Requirement: `At least`, `Less than`, `In the range`.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FaVZUNUHnIo0CNAhpailI%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.17.36.png?alt=media&#x26;token=5194d63f-152a-41ad-a657-1498ebb77fe8" alt=""><figcaption></figcaption></figure>

4. Finish Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).

### Number of Transaction on Specified Chain

1. Choose `Gas Related`, click on "`Number of Transactions on Specified Chain`".
2. Select network, enter the required times of transactions

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FLD8aoBYHbSeq27sPPmYy%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.20.06.png?alt=media&#x26;token=8d819667-feaa-4f54-b218-d4c3fab4dc27" alt=""><figcaption></figcaption></figure>

3. Finish Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).



### Lending: Borrow & Supply

1. Choose Lending, TaskOn Community now support `Compound`, `AAVE`.
2. Click on "Borrow/Supply token on Compound V2/ AAVE V2".
3. Enter the task description & URL (optional)

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FECjhWimTxgfLo5wMvZ7x%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.25.40.png?alt=media&#x26;token=856e126f-a507-4d1d-afa3-6d250cf22de0" alt="" width="563"><figcaption></figcaption></figure>

4. Select network, and enter the token.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fl1TOmdVgebZ32SykzHdc%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.26.49.png?alt=media&#x26;token=c3a58068-8b2d-4b23-b764-95f6c74f6b5d" alt=""><figcaption></figcaption></figure>

5.  Set Value Requirement: `At least`, `Less than`, `In the range`.

    You can also set the times of transaction. (optional)
6. Click on "`Test this task`" to verify the task process.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FSuiUAQmLSia7qHUCpY1a%2F%E6%88%AA%E5%B1%8F2024-03-18%2016.26.53.png?alt=media&#x26;token=e86d16f8-54fc-459b-bd08-b24e9b56f2f5" alt=""><figcaption></figcaption></figure>

## Contract Interaction

Please note that your contract needs to be added to the whitelist. If your contract is not yet on the whitelist, please fill out the [**form**](https://docs.google.com/forms/d/e/1FAIpQLScanVhek7wT_0DMpL6rnPLnPHVh8JAcu4PHJZtT17jh12J0SA/viewform) and wait for approval.

1. Choose networks.

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2F2O07WpSm21VOYNtFBu0p%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.45.04.png?alt=media&#x26;token=2dde5478-5ad0-4c97-9e88-961d964a29c4" alt="" width="563"><figcaption></figcaption></figure>

2. Enter Contract Address

**Please note that your contract needs to be added to the whitelist. If your contract is not yet on the whitelist, please fill out the** [**form**](https://docs.google.com/forms/d/e/1FAIpQLScanVhek7wT_0DMpL6rnPLnPHVh8JAcu4PHJZtT17jh12J0SA/viewform) **and wait for approval.**

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FPaUqkoP7F8MmK2pA6Fbm%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.47.17.png?alt=media&#x26;token=2d95adf2-8332-45ee-881c-20fa433563bb" alt="" width="563"><figcaption></figcaption></figure>

3. Enter the function

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2F5ozKuLJ7CFnC06dHnS9b%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.53.27.png?alt=media&#x26;token=4049e5c6-0f9a-4ee6-a78f-bb452c38b5b6" alt="" width="563"><figcaption></figcaption></figure>

4. Choose the category and task url

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2Fwb2z2AjQbywkthE4kpjX%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.53.53.png?alt=media&#x26;token=12732fcc-c6d7-4d39-9bfc-9c957b0683af" alt="" width="563"><figcaption></figcaption></figure>

5. Set task time

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FTIYYNaJo8gxmqDU8uv1s%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.57.14.png?alt=media&#x26;token=793d3336-dd3d-4033-8845-1f5591e9eab1" alt="" width="563"><figcaption></figcaption></figure>

6. Preparation for Task Execution

Please specify the preparations users should do to execute this task

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FxTVbjHPd7TQSceCw38hv%2F%E6%88%AA%E5%B1%8F2024-08-28%2011.57.50.png?alt=media&#x26;token=77dc3430-1ce8-4d80-a91c-7eaddb0cbb5a" alt="" width="563"><figcaption></figcaption></figure>

7. Task Instruction

Please specify the instructions on how to complete this task

<figure><img src="https://3435385094-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjhotRGhsA7iGGmOsMlF0%2Fuploads%2FFMrAGpOZ5YSV5Or6oUk0%2F%E6%88%AA%E5%B1%8F2024-08-28%2012.01.45.png?alt=media&#x26;token=a557aa74-d6de-48d3-a26a-eb1b9e3090a4" alt="" width="563"><figcaption></figcaption></figure>

Finish Extra Settings

_For extra settings, please refer to the_ [_tutorial_](../how-to-create-tasks/step3-extra-settings).
