Kwenta
A dApp enabling derivatives trading with infinite liquidity — powered by the Synthetix protocol.
The trading UI is available on IPFS kwenta.eth.link and kwenta.io.
ENS link: kwenta.eth.
Tech stack
- Next.js
- React
- React Query
- Recoil
- Unstated-next
- Styled-Components
- Immer
Ethereum stack
- ethers.js v5 - Ethereum wallet implementation.
- Blocknative Onboard - for ethereum wallet connectivity.
- @synthetixio/contracts-interface - for interactions with the Synthetix protocol.
- @synthetixio/data - for historical data (powered by TheGraph)
Development
Install dependencies
npm i
Set up environment variables
Copy the .env.local.example
file in this directory to .env.local
(which will be ignored by Git):
cp .env.local.example .env.local
Then, open .env.local
and add the missing environment variables:
NEXT_PUBLIC_PORTIS_APP_ID
- Portis app id (get it from portis.io)NEXT_PUBLIC_BN_ONBOARD_API_KEY
- Blocknative Onboard API key (get it from blocknative.com)NEXT_PUBLIC_INFURA_PROJECT_ID
- Infura project id (get it from infura.io)
Run
npm run dev
Open http://localhost:3000 to view it in the browser.
Build
npm run build
npm start
Contributing
Kwenta welcomes contributors. Regardless of the time you have available, everyone can provide meaningful contributions to the project by submitting bug reports, feature requests or even the smallest of fixes! To submit your contribution, please fork, fix, commit and create a pull-request describing your work in detail. For more details, please have a look at the Contribution guidelines.
Contact
Join the community on the Kwenta Discord server!