Plugins have been an integral part of the internet’s evolution, enabling applications to work together and expand core capabilities. At Quest Protocol, plugins act as the bridge enabling projects to launch high-performance quests on our platform. With the release of our open-source toolkit, QuestDK, any project can build their own plugin and integrate seamlessly to Quest Protocol. This integration offers access to our advanced quest features like audience targeting and detailed action criteria.
But the most powerful advantage of integrating to Quest Protocol is the ability to expand your project’s reach by tapping into our wide distribution network of web3 dapps, including RabbitHole.
In this article, we'll cover the essentials of Quest Plugins and guide you through the process of integrating to Quest Protocol so you can start launching quests for growth and acquisition.
Every protocol uses different formats and standards to describe transactions, making it difficult for our systems to communicate, understand, and work with each other. That’s why building Quest Plugins is necessary to convert various transaction data into standardized and understandable formats that can be used on our platform.
There are two primary roles of Quest Plugins:
Integration of protocol actions: Quest Plugins standardize protocol actions into a consistent schema. This standardization is crucial for integrating a variety of onchain activities into a single system framework.
Open-source registry: Quest Plugins offer an accessible registry of protocol actions, allowing anyone to launch quests across different protocols on one single platform.
Quest Plugins act as translators that take the raw data sent to EVM-native smart contracts and converts it into an easily understandable and standardized format. Once the transaction data is translated, the plugin is categorized into a recognizable action, like 'swap', 'mint', or 'stake'.
For instance, the example below is of Uniswap’s specialized swap contract:
Without a Quest Plugin to translate this information into a standardized format that includes details like chainId
amount
or recipient
, it would not be possible to deploy a quest for this specific action on our platform. All of the inputs are tucked into a bytes
array, making it impossible to interpret the transaction data as a ‘swap’ action.
Quest Plugins also enable the creation of quests with specific criteria that we call, ‘action parameters’. These are the details that define a blockchain action within a transaction, like token amount, token type and amount. It’s what differentiates simple quests from dynamic quests.
For example, a simple quest would just require a user to swap from project A to project B. A dynamic quest would specify details like the amount the user must swap and the token and network to be used. This level of granularity is important to align closer to campaign and project goals.
When integrating your project with Quest Protocol, you have two options: a quick integration into our existing plugins or creating a custom-built plugin. The choice depends on your project's size, complexity, and specific needs.
For a majority of projects, integrating with Quest Protocol without a custom plugin is a viable and quick option. This approach suits projects whose required quest actions are already supported by Quest Protocol and only involve one contract per action.
In this case, implementation is straightforward. We simply need some basic details about your project and our team will do the integration work. In a matter of days, you’ll be able to start launching quests. It's important to note, however, that this method limits you to creating simple quests without customization on action parameters.
Larger projects, particularly those with higher transaction volumes, often benefit from a custom-built Quest Plugin. This is especially true if your project involves actions that correspond to multiple contracts and function signatures.
Building a plugin will allow you to create custom dynamic quests. This approach only requires a day of building and will provide significant strategic benefits. It enables deeper customization, better aligns with project requirements, and offers more detailed data on transactions and user behavior.
If the required action isn’t supported on Quest Protocol, you can submit a request to be reviewed by our team.
For early-stage projects, the quick start approach may be the best way to begin with the goal to eventually create a custom Quest Plugin. This strategy is particularly effective for small projects aiming to quickly boost user engagement and activity, without having to invest in technical resources.
There are only two requirements for a quick integration:
The quest action is already supported by Quest Protocol
The quest action maps to a single contract
If your project meets these requirements, then you may integrate into our existing plugin capabilities for a quick and easy start. Simply submit your project information like logo, project name, smart contract address, and ABI through this intake request form. Once reviewed and approved by our team, we will integrate your project to Quest Protocol without any work required from you.
However, we always encourage projects to build a custom Quest Plugin because of the added customization to create better and more engaging quests for users. Here is a high-level overview of what you may expect if you choose to build a Quest Plugin:
Scoping: Start by defining your goals for running quests and the specific functionalities and actions your project needs, like swaps, mints, or bridges.
Build: Work with your technical team to review the Quest-Plugin-Repo and provide a development estimation. Actual build time should take no more than one day for a developer. If there are any issues, the Quest Protocol team is ready to provide support and answer any questions you may have.
Integration and testing: Once complete, your developer will need to add the project ‘pluginID’ to the plugin registry, generate a changeset and submit the PR. Our team will review the plugin and conduct the integration and testing process. If no issues are found, you can expect to see your project listed on Quest Terminal within days. We recommend that you start by launching a few test quests with your internal team on the allowlist. You can also always reach out to our team on Discord for best quest practices and tips.
Read: Quest Targeting Tactics: A Guide to Performance-Based Web3 Acquisition
Read: Tracking Quest Impact With Quest Protocol's Built-in Attribution System
If you are a new project interested in launching quests on Quest Protocol, the best way to get started is by filling out this intake request form. Our team will get in touch with you as soon as possible to help you define the scope of the project and kickstart the process.
For additional information, read the Quest Plugin documentation and join the Quest Protocol Discord for support.
Follow Quest Protocol on Twitter: https://twitter.com/questprotocol_