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.
- Blocknative Notify - for tx notifications.
- synthetix-data - for historical data (powered by TheGraph).
- @synthetixio/contracts-interface - for interactions with the Synthetix protocol.
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_NOTIFY_API_KEY
- Blocknative Notify API key (get it from blocknative.com)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