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.
- Next.js
- React
- React Query
- Recoil
- Unstated-next
- Styled-Components
- Immer
- 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)
npm i
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)
npm run dev
Open http://localhost:3000 to view it in the browser.
npm run build
npm start
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.
Join the community on the Kwenta Discord server!