# Zenlink Development Kit

The Zenlink Development Kit (ZDK) is a development kit for the Zenlink DEX protocol, designed to provide developers with a set of components and APIs to help them quickly build applications based on the Zenlink DEX protocol.

## Components

The ZDK contains the following components:&#x20;

### Packages

* **\`@zenlink-interface/chain\`:** Chain configuration related
* **\`@zenlink-interface/compat\`:** Compatibility layer for different chain implementations
* **\`@zenlink-interface/currency\`:** Token types and configuration
* **\`@zenlink-interface/amm\`:** Basic protocol operation calculation, including basic routing, various types of pools
* **\`@zenlink-interface/format\`:** Data format conversion
* **\`@zenlink-interface/graph-client\`:** Data index to obtain data
* **\`@zenlink-interface/hooks\`:** Front-end hooks related
* **\`@zenlink-interface/math\`:** Mathematical calculation
* **\`@zenlink-interface/eslint-config\`:** Front-end eslint configuration
* **\`@zenlink-interface/typescript-config\`:** Front-end TypeScript configuration
* **\`@zenlink-interface/redux-token-lists\`:** Front-end token list redux module
* **\`@zenlink-interface/shared\`:** Common library
* **\`@zenlink-interface/polkadot\`:** Polkadot basic library
* **\`@zenlink-interface/parachains-impl\`:** Parachain-related implementation, take Bifrost as an example
* **\`@zenlink-interface/token-lists\`:** Token list configuration
* **\`@zenlink-interface/ui\`:** Front-end basic UI library
* **\`@zenlink-interface/wagmi\`:** Wagmi encapsulation library
* **\`@zenlink-interface/smart-router\`:** Aggregation routing library

### APIs

* **\`@token-price\`:** Token price API
* **\`@path-finder\`:** Aggregation routing API, with parameters including **\`chainId\`**, **\`fromTokenId\`**, **\`toTokenId\`**, **\`gasPrice\`**, **\`amount\`**, **\`to\`**, **\`priceImpact\`**, and returns including specific paths and parameters required for interaction contracts

## How to build an app based on the Zenlink DEX protocol?

Developers can refer to the Zenlink Development Kit Integration Guide on GitHub to learn how to build an app based on the Zenlink DEX protocol:&#x20;

{% embed url="<https://github.com/zenlinkpro/zenlink-interface>" %}

## How do we do it more decentralized?

To achieve more decentralization, all code related to fetching chain data, calculation, API, timing services, and interaction contracts (modules) is open source and deployed through the Vercel platform. Developers can submit PRs or issues to discuss functions, fix bugs, and address potential risks.

## What are the benefits of using the ZDK?

The Zenlink Development Kit offers several benefits to developers:

* Facilitates the integration of the Zenlink protocol by providing encapsulated packages, avoiding redundant development, and reducing development costs.
* Enables developers to use APIs to obtain swap data, without requiring an understanding of the underlying protocol data and path calculation.
* Facilitates developers to build custom apps or modules on top of the Zenlink DEX protocol.

## Branding Terms

The Zenlink Development Kit is fully open source and is available for any individual or collective to build a DEX integrated into the Zenlink DEX Protocol or fork a DEX. **It is licensed under the** [**LGPL**](https://github.com/zenlinkpro/zenlink-interface/blob/main/LICENSE) **and you need to keep the footnote "Powered by Zenlink" when you build with it.**

Please refer to the license section on the Github repository for instructions and follow the terms.


---

# 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://wiki.zenlink.pro/zenlink-dex-protocol/zenlink-development-kit.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.
