diff --git a/components/AppCard/AppCard.tsx b/components/AppCard/AppCard.tsx
new file mode 100644
index 00000000..2dab4a97
--- /dev/null
+++ b/components/AppCard/AppCard.tsx
@@ -0,0 +1,50 @@
+import { ExternalLink } from "lucide-react";
+import Image from "next/image";
+import { App } from "../../data/appData";
+
+interface AppCardProps {
+ app: App;
+}
+const AppCard = ({ app }: AppCardProps) => {
+ if (!app) return null;
+ const { title, description, href, image } = app;
+ return (
+
+
+
+
+
+ {title}
+
+
{description}
+
+
+
+ );
+};
+
+export default AppCard;
diff --git a/components/AppCard/AppCardsGrid.tsx b/components/AppCard/AppCardsGrid.tsx
new file mode 100644
index 00000000..ca5ee857
--- /dev/null
+++ b/components/AppCard/AppCardsGrid.tsx
@@ -0,0 +1,30 @@
+import { Callout } from "nextra-theme-docs";
+import { Tag, appData } from "../../data/appData";
+import AppCard from "./AppCard";
+
+const AppCardsGrid = ({ tags }: { tags?: Tag[] }) => {
+ const filteredData = (() => {
+ if (!tags) return appData;
+
+ return appData.filter((app) => tags.some((tag) => app.tags.includes(tag)));
+ })();
+
+ return (
+
+
+
+ Projects listed here are developed by the Sei community. Inclusion on
+ this site does not constitute endorsement. For questions related to
+ each, please contact the project directly.
+
+
+
+ {filteredData.map((app, index) => (
+
+ ))}
+
+
+ );
+};
+
+export default AppCardsGrid;
diff --git a/components/AppCard/index.ts b/components/AppCard/index.ts
new file mode 100644
index 00000000..e1396954
--- /dev/null
+++ b/components/AppCard/index.ts
@@ -0,0 +1,2 @@
+export { default as AppCard } from './AppCard';
+export { default as AppCardsGrid } from './AppCardsGrid';
diff --git a/components/EcosystemApps/EcosystemApps.tsx b/components/EcosystemApps/EcosystemApps.tsx
index d867f15d..6c1fb10b 100644
--- a/components/EcosystemApps/EcosystemApps.tsx
+++ b/components/EcosystemApps/EcosystemApps.tsx
@@ -1,6 +1,6 @@
-import React, { useState, useMemo, useEffect } from 'react';
+import { useEffect, useMemo, useState } from 'react';
+import { appData, tagPrettyNames } from '../../data/appData';
import { EcosystemCard, EcosystemCards } from '../EcosystemCard';
-import appData, { Tag, tagPrettyNames } from '../../data/appData';
const EcosystemApps = () => {
const [searchTerm, setSearchTerm] = useState('');
diff --git a/components/index.ts b/components/index.ts
index d5b3ff25..f0afef02 100644
--- a/components/index.ts
+++ b/components/index.ts
@@ -1,3 +1,4 @@
+export * from "./AppCard";
export * from './APIEndpoint';
export * from './APIEndpointRoute';
export * from './APIModule';
diff --git a/data/appData.ts b/data/appData.ts
index 6843464a..28c5e16c 100644
--- a/data/appData.ts
+++ b/data/appData.ts
@@ -1,238 +1,376 @@
import { StaticImageData } from 'next/image';
-import gamblinoLogo from "../public/assets/ecosystem/gamblino.jpeg";
-import dragonswapLogo from "../public/assets/ecosystem/dragonswap.jpeg";
-import belugasLogo from "../public/assets/ecosystem/belugas.png";
-import squaredLabsLogo from "../public/assets/ecosystem/squared-labs.jpeg";
-import seijinLogo from "../public/assets/ecosystem/seijin.png";
-import predxLogo from "../public/assets/ecosystem/predx.jpeg";
-import yakaLogo from "../public/assets/ecosystem/yaka.jpeg";
-import webumpLogo from "../public/assets/ecosystem/webump.jpeg";
+import AxelarLogo from "../public/assets/apps/axelar-logo.png";
+import BinanceLogo from "../public/assets/apps/binance-cex.png";
+import CoinbaseLogo from "../public/assets/apps/coinbase-cex.png";
+import FlipsideLogo from "../public/assets/apps/flipside-logo.png";
+import KuCoinLogo from "../public/assets/apps/kucoin-cex.png";
+import PolkachuLogo from "../public/assets/apps/polkachu.png";
+import PythNetworkLogo from "../public/assets/apps/pyth-network.png";
+import QuickNodeLogo from "../public/assets/apps/quicknode.png";
+import RhinoLogo from "../public/assets/apps/rhino.png";
+import SquidLogo from "../public/assets/apps/squid-logo.png";
+import StargateLogo from "../public/assets/apps/stargate-logo.png";
+import SubGraphLogo from "../public/assets/apps/subgraph-logo.png";
+import TheGraphLogo from "../public/assets/apps/the-graph-logo.png";
+import WormholeLogo from "../public/assets/apps/wormhole-logo.png";
import accumulatedLogo from "../public/assets/ecosystem/accumulated.jpeg";
-import mambaLogo from "../public/assets/ecosystem/mamba.png";
+import belugasLogo from "../public/assets/ecosystem/belugas.png";
+import dragonswapLogo from "../public/assets/ecosystem/dragonswap.jpeg";
+import fidropLogo from "../public/assets/ecosystem/fidrop.jpeg";
+import gamblinoLogo from "../public/assets/ecosystem/gamblino.jpeg";
+import jaspervaultLogo from "../public/assets/ecosystem/jaspervault.jpeg";
import jellyverseLogo from "../public/assets/ecosystem/jellyverse.png";
-import seicasinoLogo from "../public/assets/ecosystem/seicasino.png";
-import superSeiyanBotLogo from "../public/assets/ecosystem/superseiyanbot.jpeg";
+import kawaLogo from "../public/assets/ecosystem/kawa.jpeg";
+import mambaLogo from "../public/assets/ecosystem/mamba.png";
+import monnaLogo from "../public/assets/ecosystem/monna.png";
import nfts2meLogo from "../public/assets/ecosystem/nfts2me.png";
-import stafiLogo from "../public/assets/ecosystem/stafi.png";
+import nukeemLogo from "../public/assets/ecosystem/nukeem.jpeg";
+import predxLogo from "../public/assets/ecosystem/predx.jpeg";
+import seicasinoLogo from "../public/assets/ecosystem/seicasino.png";
+import seijinLogo from "../public/assets/ecosystem/seijin.png";
import siloLogo from "../public/assets/ecosystem/silo.jpeg";
+import squaredLabsLogo from "../public/assets/ecosystem/squared-labs.jpeg";
+import stafiLogo from "../public/assets/ecosystem/stafi.png";
+import superSeiyanBotLogo from "../public/assets/ecosystem/superseiyanbot.jpeg";
import vermillionLogo from "../public/assets/ecosystem/vermillion.jpeg";
-import nukeemLogo from "../public/assets/ecosystem/nukeem.jpeg";
-import jaspervaultLogo from "../public/assets/ecosystem/jaspervault.jpeg";
-import monnaLogo from "../public/assets/ecosystem/monna.png";
-import kawaLogo from "../public/assets/ecosystem/kawa.jpeg";
-import fidropLogo from "../public/assets/ecosystem/fidrop.jpeg";
+import webumpLogo from "../public/assets/ecosystem/webump.jpeg";
+import yakaLogo from "../public/assets/ecosystem/yaka.jpeg";
-interface App {
- title: string;
- description: string;
- href: string;
- image: StaticImageData;
- tags: Tag[];
+export interface App {
+ title: string;
+ description: string;
+ href: string;
+ image: StaticImageData;
+ tags: Tag[];
}
export enum Tag {
- BET = 'Betting', // apps/games including betting/wagers
- BOT = 'Bots', // automated trading or utility bots
- BRIDGE = 'Bridge', // cross-chain bridging apps
- DEFI = 'DeFi', // decentralized finance applications [generic, add other specific tags]
- DEX = 'Exchange', // decentralized exchanges
- GAMES = 'Gaming', // games or gaming platforms
- GOV = 'Governance', // governance and voting applications or informational dashboards
- INDEX = 'Indexer', // data indexing services
- LAUNCH = 'Launchpad', // platforms for launching new projects or tokens
- LEND = 'Lending', // lending/borrowing platforms
- LIQ = 'Liquidity', // liquidity provision and management [vault protocols for example]
- LST = 'Liquid Staking', // liquid staking solutions
- MKT = 'Marketplace', // decentralized marketplaces [non-standard markets like NFT, services markets]
- MEV = 'MEV', // applications dealing with arbitrage or block auctioning, etc.
- NFT = 'NFT', // NFT platforms [generic, add other specific tags]
- STAKE = 'Staking', // staking dashboards, automation, and other tools
- STATS = 'Statistics/Metrics', // on-chain statistics and metrics tracking
- TOOL = 'Tool', // utilities for builders or research, etc.
- TRADE = 'Trading', // trading platforms and services [non-standard, peer/OTC swaps, NFT trading]
- WS = 'Workshop' // educational and workshop platforms
+ BET = "Betting", // apps/games including betting/wagers
+ BOT = "Bots", // automated trading or utility bots
+ BRIDGE = "Bridge", // cross-chain bridging apps
+ DEFI = "DeFi", // decentralized finance applications [generic, add other specific tags]
+ DEX = "Exchange", // decentralized exchanges
+ CEX = "Centralized Exchange", // centralized exchanges
+ GAMES = "Gaming", // games or gaming platforms
+ GOV = "Governance", // governance and voting applications or informational dashboards
+ INDEX = "Indexer", // data indexing services
+ LAUNCH = "Launchpad", // platforms for launching new projects or tokens
+ LEND = "Lending", // lending/borrowing platforms
+ LIQ = "Liquidity", // liquidity provision and management [vault protocols for example]
+ LST = "Liquid Staking", // liquid staking solutions
+ MKT = "Marketplace", // decentralized marketplaces [non-standard markets like NFT, services markets]
+ MEV = "MEV", // applications dealing with arbitrage or block auctioning, etc.
+ NFT = "NFT", // NFT platforms [generic, add other specific tags]
+ STAKE = "Staking", // staking dashboards, automation, and other tools
+ STATS = "Statistics/Metrics", // on-chain statistics and metrics tracking
+ TOOL = "Tool", // utilities for builders or research, etc.
+ TRADE = "Trading", // trading platforms and services [non-standard, peer/OTC swaps, NFT trading]
+ WS = "Workshop", // educational and workshop platforms
+ ORACLE = "Oracle", // oracle services
+ RPC = "RPC", // RPC services
}
// Map pretty names to each tag
export const tagPrettyNames: { [key in Tag]: string[] } = {
- [Tag.BET]: ['Betting', 'Wagering', 'Gambling'],
- [Tag.BOT]: ['Bots', 'Automation', 'Trading Bot'],
- [Tag.BRIDGE]: ['Bridge', 'Cross-chain'],
- [Tag.DEFI]: ['DeFi', 'Decentralized Finance'],
- [Tag.DEX]: ['Exchange', 'DEX', 'Decentralized Exchange'],
- [Tag.GAMES]: ['Gaming', 'Games'],
- [Tag.GOV]: ['Governance', 'Voting', 'Governance Dashboard'],
- [Tag.INDEX]: ['Indexer', 'Data Indexing'],
- [Tag.LAUNCH]: ['Launchpad', 'Project Launch'],
- [Tag.LEND]: ['Lending', 'Borrowing'],
- [Tag.LIQ]: ['Liquidity', 'Liquidity Management'],
- [Tag.LST]: ['Liquid Staking', 'Staking Solutions'],
- [Tag.MKT]: ['Marketplace', 'Market'],
- [Tag.MEV]: ['MEV', 'Arbitrage', 'Block Auctioning'],
- [Tag.NFT]: ['NFT', 'Non-Fungible Token'],
- [Tag.STAKE]: ['Staking', 'Staking Tools'],
- [Tag.STATS]: ['Statistics', 'Metrics', 'On-chain Metrics'],
- [Tag.TOOL]: ['Tool', 'Utility'],
- [Tag.TRADE]: ['Trading', 'Trade', 'Swaps'],
- [Tag.WS]: ['Workshop', 'Educational Platform']
+ [Tag.BET]: ["Betting", "Wagering", "Gambling"],
+ [Tag.BOT]: ["Bots", "Automation", "Trading Bot"],
+ [Tag.BRIDGE]: ["Bridge", "Cross-chain"],
+ [Tag.DEFI]: ["DeFi", "Decentralized Finance"],
+ [Tag.DEX]: ["Exchange", "DEX", "Decentralized Exchange"],
+ [Tag.GAMES]: ["Gaming", "Games"],
+ [Tag.GOV]: ["Governance", "Voting", "Governance Dashboard"],
+ [Tag.INDEX]: ["Indexer", "Data Indexing"],
+ [Tag.LAUNCH]: ["Launchpad", "Project Launch"],
+ [Tag.LEND]: ["Lending", "Borrowing"],
+ [Tag.LIQ]: ["Liquidity", "Liquidity Management"],
+ [Tag.LST]: ["Liquid Staking", "Staking Solutions"],
+ [Tag.MKT]: ["Marketplace", "Market"],
+ [Tag.MEV]: ["MEV", "Arbitrage", "Block Auctioning"],
+ [Tag.NFT]: ["NFT", "Non-Fungible Token"],
+ [Tag.STAKE]: ["Staking", "Staking Tools"],
+ [Tag.STATS]: ["Statistics", "Metrics", "On-chain Metrics"],
+ [Tag.TOOL]: ["Tool", "Utility"],
+ [Tag.TRADE]: ["Trading", "Trade", "Swaps"],
+ [Tag.WS]: ["Workshop", "Educational Platform"],
+ [Tag.ORACLE]: ["Oracle", "Data Provider"],
+ [Tag.CEX]: ["Centralized Exchange", "Exchange"],
+ [Tag.RPC]: ["RPC", "Remote Procedure Call"],
};
export const appData: App[] = [
- {
- title: "DragonSwap",
- description: "The native DEX on SEI",
- href: "https://test.dragonswap.app/",
- image: dragonswapLogo,
- tags: [Tag.DEFI, Tag.TRADE, Tag.DEX]
- },
- {
- title: "SeiCasino",
- description: "Full-featured casino built natively on Sei",
- href: "https://seicasino.io",
- image: seicasinoLogo,
- tags: [Tag.BET, Tag.GAMES]
- },
- {
- title: "WeBump",
- description: "Sei native NFT launchpad",
- href: "https://webump.xyz/",
- image: webumpLogo,
- tags: [Tag.NFT, Tag.LAUNCH, Tag.WS]
- },
- {
- title: "Seijin",
- description: "Launchpad on Sei",
- href: "https://seijin.app/staking",
- image: seijinLogo,
- tags: [Tag.LAUNCH, Tag.STAKE]
- },
- {
- title: "Squared Labs",
- description: "Quadratic price exposure on perpetual futures",
- href: "https://squaredlabs.io/app/btc",
- image: squaredLabsLogo,
- tags: [Tag.DEFI, Tag.TRADE, Tag.DEX]
- },
- {
- title: "PredX",
- description: "Prediction Market",
- href: "https://events.predx.ai/",
- image: predxLogo,
- tags: [Tag.BET, Tag.MKT, Tag.GAMES]
- },
- {
- title: "Gamblino",
- description: "GambleFi protocol covering crypto, sportsbook and classic games of chance",
- href: "https://test.gamblino.app/",
- image: gamblinoLogo,
- tags: [Tag.BET, Tag.GAMES]
- },
- {
- title: "Silo",
- description: "Liquid staking and MEV on Sei",
- href: "https://silo-evm.dc37hw5o72ljt.amplifyapp.com/",
- image: siloLogo,
- tags: [Tag.LST, Tag.MEV]
- },
- {
- title: "Vermillion",
- description: "Next-gen AMM and stablecoin",
- href: "https://app.vermillion.finance/swap",
- image: vermillionLogo,
- tags: [Tag.DEX, Tag.DEFI]
- },
- {
- title: "Belugas",
- description: "Decentralized Marketplace for lenders and borrowers",
- href: "https://www.belugas.io/",
- image: belugasLogo,
- tags: [Tag.MKT, Tag.DEFI, Tag.LEND]
- },
- {
- title: "Yaka",
- description: "Algebra Integral fork on Sei",
- href: "https://test.yaka.finance/",
- image: yakaLogo,
- tags: [Tag.LAUNCH, Tag.WS, Tag.DEFI]
- },
- {
- title: "Accumulated",
- description: "Liquid staking protocol",
- href: "https://testnet.accumulated.finance/stake/sei",
- image: accumulatedLogo,
- tags: [Tag.LIQ, Tag.LST, Tag.DEFI]
- },
- {
- title: "Mamba Defi",
- description: "Defi and memecoin ecosystem",
- href: "https://www.mambaswap.io/",
- image: mambaLogo,
- tags: [Tag.DEFI, Tag.WS, Tag.MKT]
- },
- {
- title: "JellyVerse",
- description: "Smart order router",
- href: "https://jelly-verse-sei.vercel.app/jellyswap",
- image: jellyverseLogo,
- tags: [Tag.DEFI, Tag.TRADE, Tag.LIQ]
- },
- {
- title: "Super Seiyan Bot",
- description: "Sei native telegram trading bot",
- href: "https://t.me/SSeiyanEvmBot",
- image: superSeiyanBotLogo,
- tags: [Tag.TRADE, Tag.BOT, Tag.DEFI]
- },
- {
- title: "NFTs2ME",
- description: "No-code NFT creation tool",
- href: "https://nfts2me.com/app/sei-devnet/",
- image: nfts2meLogo,
- tags: [Tag.NFT, Tag.WS, Tag.LAUNCH]
- },
- {
- title: "Stafi",
- description: "LST protocol",
- href: "https://test-app.stafi.io/gallery/evm/SEI/?net=SEI",
- image: stafiLogo,
- tags: [Tag.DEFI, Tag.LST]
- },
- {
- title: "Nuk'Em Loans",
- description: "DeFi marketplace",
- href: "https://app.nukem.loans/",
- image: nukeemLogo,
- tags: [Tag.DEFI, Tag.LEND]
- },
- {
- title: "JasperVault",
- description: "Fully decentralised options trading",
- href: "https://alpha.jasper.finance/trade/sei",
- image: jaspervaultLogo,
- tags: [Tag.DEFI, Tag.TRADE]
- },
- {
- title: "Monna",
- description: "The standard for leveraged lending",
- href: "https://app.monna.io/",
- image: monnaLogo,
- tags: [Tag.DEFI, Tag.LEND]
- },
- {
- title: "Kawa",
- description: "Decentralised cross-chain lending",
- href: "https://v2.beta.kawa.finance/lend",
- image: kawaLogo,
- tags: [Tag.DEFI, Tag.LEND]
- },
- {
- title: "Fidrop",
- description: "Platform that powers token creation, claiming, drops, and mints",
- href: "https://fidrop.com/signin?callbackUrl=%2F",
- image: fidropLogo,
- tags: [Tag.NFT, Tag.LAUNCH]
- }
+ {
+ title: "DragonSwap",
+ description: "The native DEX on SEI",
+ href: "https://test.dragonswap.app/",
+ image: dragonswapLogo,
+ tags: [Tag.DEFI, Tag.TRADE, Tag.DEX],
+ },
+ {
+ title: "SeiCasino",
+ description: "Full-featured casino built natively on Sei",
+ href: "https://seicasino.io",
+ image: seicasinoLogo,
+ tags: [Tag.BET, Tag.GAMES],
+ },
+ {
+ title: "WeBump",
+ description: "Sei native NFT launchpad",
+ href: "https://webump.xyz/",
+ image: webumpLogo,
+ tags: [Tag.NFT, Tag.LAUNCH, Tag.WS],
+ },
+ {
+ title: "Seijin",
+ description: "Launchpad on Sei",
+ href: "https://seijin.app/staking",
+ image: seijinLogo,
+ tags: [Tag.LAUNCH, Tag.STAKE],
+ },
+ {
+ title: "Squared Labs",
+ description: "Quadratic price exposure on perpetual futures",
+ href: "https://squaredlabs.io/app/btc",
+ image: squaredLabsLogo,
+ tags: [Tag.DEFI, Tag.TRADE, Tag.DEX],
+ },
+ {
+ title: "PredX",
+ description: "Prediction Market",
+ href: "https://events.predx.ai/",
+ image: predxLogo,
+ tags: [Tag.BET, Tag.MKT, Tag.GAMES],
+ },
+ {
+ title: "Gamblino",
+ description:
+ "GambleFi protocol covering crypto, sportsbook and classic games of chance",
+ href: "https://test.gamblino.app/",
+ image: gamblinoLogo,
+ tags: [Tag.BET, Tag.GAMES],
+ },
+ {
+ title: "Silo",
+ description: "Liquid staking and MEV on Sei",
+ href: "https://silo-evm.dc37hw5o72ljt.amplifyapp.com/",
+ image: siloLogo,
+ tags: [Tag.LST, Tag.MEV],
+ },
+ {
+ title: "Vermillion",
+ description: "Next-gen AMM and stablecoin",
+ href: "https://app.vermillion.finance/swap",
+ image: vermillionLogo,
+ tags: [Tag.DEX, Tag.DEFI],
+ },
+ {
+ title: "Belugas",
+ description: "Decentralized Marketplace for lenders and borrowers",
+ href: "https://www.belugas.io/",
+ image: belugasLogo,
+ tags: [Tag.MKT, Tag.DEFI, Tag.LEND],
+ },
+ {
+ title: "Yaka",
+ description: "Algebra Integral fork on Sei",
+ href: "https://test.yaka.finance/",
+ image: yakaLogo,
+ tags: [Tag.LAUNCH, Tag.WS, Tag.DEFI],
+ },
+ {
+ title: "Accumulated",
+ description: "Liquid staking protocol",
+ href: "https://testnet.accumulated.finance/stake/sei",
+ image: accumulatedLogo,
+ tags: [Tag.LIQ, Tag.LST, Tag.DEFI],
+ },
+ {
+ title: "Mamba Defi",
+ description: "Defi and memecoin ecosystem",
+ href: "https://www.mambaswap.io/",
+ image: mambaLogo,
+ tags: [Tag.DEFI, Tag.WS, Tag.MKT],
+ },
+ {
+ title: "JellyVerse",
+ description: "Smart order router",
+ href: "https://jelly-verse-sei.vercel.app/jellyswap",
+ image: jellyverseLogo,
+ tags: [Tag.DEFI, Tag.TRADE, Tag.LIQ],
+ },
+ {
+ title: "Super Seiyan Bot",
+ description: "Sei native telegram trading bot",
+ href: "https://t.me/SSeiyanEvmBot",
+ image: superSeiyanBotLogo,
+ tags: [Tag.TRADE, Tag.BOT, Tag.DEFI],
+ },
+ {
+ title: "NFTs2ME",
+ description: "No-code NFT creation tool",
+ href: "https://nfts2me.com/app/sei-devnet/",
+ image: nfts2meLogo,
+ tags: [Tag.NFT, Tag.WS, Tag.LAUNCH],
+ },
+ {
+ title: "Stafi",
+ description: "LST protocol",
+ href: "https://test-app.stafi.io/gallery/evm/SEI/?net=SEI",
+ image: stafiLogo,
+ tags: [Tag.DEFI, Tag.LST],
+ },
+ {
+ title: "Nuk'Em Loans",
+ description: "DeFi marketplace",
+ href: "https://app.nukem.loans/",
+ image: nukeemLogo,
+ tags: [Tag.DEFI, Tag.LEND],
+ },
+ {
+ title: "JasperVault",
+ description: "Fully decentralised options trading",
+ href: "https://alpha.jasper.finance/trade/sei",
+ image: jaspervaultLogo,
+ tags: [Tag.DEFI, Tag.TRADE],
+ },
+ {
+ title: "Monna",
+ description: "The standard for leveraged lending",
+ href: "https://app.monna.io/",
+ image: monnaLogo,
+ tags: [Tag.DEFI, Tag.LEND],
+ },
+ {
+ title: "Kawa",
+ description: "Decentralised cross-chain lending",
+ href: "https://v2.beta.kawa.finance/lend",
+ image: kawaLogo,
+ tags: [Tag.DEFI, Tag.LEND],
+ },
+ {
+ title: "Fidrop",
+ description:
+ "Platform that powers token creation, claiming, drops, and mints",
+ href: "https://fidrop.com/signin?callbackUrl=%2F",
+ image: fidropLogo,
+ tags: [Tag.NFT, Tag.LAUNCH],
+ },
+ {
+ title: "Flipside",
+ description: "Provides detailed blockchain analytics and insights.",
+ href: "https://flipsidecrypto.xyz/",
+ image: FlipsideLogo,
+ tags: [Tag.INDEX],
+ },
+ {
+ title: "The Graph (EVM only)",
+ description: "Allows for querying blockchain data using GraphQL.",
+ tags: [Tag.INDEX],
+ href: "https://thegraph.com/",
+ image: TheGraphLogo,
+ },
+ {
+ title: "SubGraph",
+ description:
+ "SubQuery is a fast, flexible, and reliable open-source data decentralised infrastructure network, providing both RPC and indexed data to consumers around the world.",
+ href: "https://academy.subquery.network/indexer/quickstart/quickstart_chains/cosmos-sei.html",
+ image: SubGraphLogo,
+ tags: [Tag.INDEX],
+ },
+ {
+ title: "Wormhole",
+ description:
+ "A popular bridge for transferring assets across multiple blockchains.",
+ href: "https://wormholenetwork.com/",
+ image: WormholeLogo,
+ tags: [Tag.BRIDGE],
+ },
+ {
+ title: "Squid",
+ description:
+ "Enables one-click cross-chain swaps across various EVM blockchains.",
+ href: "https://app.squidrouter.com/",
+ image: SquidLogo,
+ tags: [Tag.BRIDGE],
+ },
+ {
+ title: "Axelar",
+ description: "Provides secure cross-chain communication for Web3.",
+ href: "https://axelar.network",
+ image: AxelarLogo,
+ tags: [Tag.BRIDGE],
+ },
+ {
+ title: "Stargate (Coming soon)",
+ description: "Facilitates seamless cross-chain transactions.",
+ href: "https://stargate.finance",
+ image: StargateLogo,
+ tags: [Tag.BRIDGE],
+ },
+ {
+ title: "Pyth",
+ description:
+ "A decentralized data oracle network providing high-fidelity real-time financial market data to smart contracts.",
+ href: "https://docs.pyth.network/home",
+ image: PythNetworkLogo,
+ tags: [Tag.ORACLE],
+ },
+ {
+ title: "Coinbase",
+ description:
+ "A leading cryptocurrency exchange platform in the U.S., known for its user-friendly interface and secure trading environment.",
+ href: "https://www.coinbase.com",
+ image: CoinbaseLogo,
+ tags: [Tag.CEX],
+ },
+ {
+ title: "Binance",
+ description:
+ "The world’s largest cryptocurrency exchange by trading volume, offering a wide range of digital assets and advanced trading features.",
+ href: "https://www.binance.com",
+ image: BinanceLogo,
+ tags: [Tag.CEX],
+ },
+ {
+ title: "KuCoin",
+ description:
+ "A global cryptocurrency exchange with a vast selection of cryptocurrencies and competitive trading fees, known for its extensive range of trading tools.",
+ href: "https://www.kucoin.com",
+ image: KuCoinLogo,
+ tags: [Tag.CEX],
+ },
+ {
+ title: "Rhino",
+ description:
+ "Provides robust RPC services for seamless blockchain interactions.",
+ href: "https://rhinostake.com",
+ image: RhinoLogo,
+ tags: [Tag.RPC],
+ },
+ {
+ title: "QuickNode",
+ description:
+ "A trusted infrastructure partner for the Sei network, providing developers with powerful APIs and dedicated support to streamline their blockchain applications.",
+ href: "https://www.quicknode.com",
+ image: QuickNodeLogo,
+ tags: [Tag.RPC],
+ },
+ {
+ title: "Polkachu",
+ description: "Offers RPC/REST/gRPC, snapshot, genesis files, and more.",
+ href: "https://polkachu.com/networks/sei",
+ image: PolkachuLogo,
+ tags: [Tag.RPC],
+ },
+ {
+ title: "SubQuery",
+ description:
+ "SubQuery is a fast, flexible, and reliable open-source data decentralised infrastructure network, providing both RPC and indexed data to consumers around the world.",
+ href: "https://academy.subquery.network/indexer/quickstart/quickstart_chains/cosmos-sei.html",
+ image: SubGraphLogo,
+ tags: [Tag.RPC],
+ },
];
-export default appData;
+
+export default appData;
\ No newline at end of file
diff --git a/pages/dev-ecosystem-providers/bridges.mdx b/pages/dev-ecosystem-providers/bridges.mdx
index 70d7ab31..1c1534d1 100644
--- a/pages/dev-ecosystem-providers/bridges.mdx
+++ b/pages/dev-ecosystem-providers/bridges.mdx
@@ -1,23 +1,16 @@
+import { AppCardsGrid } from "../../components";
+import { Tag } from "../../data/appData";
+
# Bridges
Bridges facilitate cross-chain transfers and interoperability between different blockchains. Key bridges for Sei are:
-## **Squid**:
-Enables one-click cross-chain swaps across various EVM blockchains.
- - [Squid](https://app.squidrouter.com)
-
-## **Wormhole**:
-A popular bridge for transferring assets across multiple blockchains.
- - [Wormhole](https://wormholenetwork.com/)
+## Apps
-## **Axelar**:
-Provides secure cross-chain communication for Web3.
- - [Axelar](https://axelar.network)
+
-## **Stargate (coming soon)**:
-Facilitates seamless cross-chain transactions.
- - [Stargate](https://stargate.finance)
+## IBC (Inter-Blockchain Communication)
-## **IBC (Inter-Blockchain Communication)**:
Enables interoperability between Cosmos-based blockchains, including Sei.
- - Learn more about [IBC Protocol](/dev-tutorials/ibc-protocol)
+
+- Learn more about [IBC Protocol](/dev-tutorials/ibc-protocol)
diff --git a/pages/dev-ecosystem-providers/centralized-exchanges.mdx b/pages/dev-ecosystem-providers/centralized-exchanges.mdx
index 6e990e81..c9ce6bb5 100644
--- a/pages/dev-ecosystem-providers/centralized-exchanges.mdx
+++ b/pages/dev-ecosystem-providers/centralized-exchanges.mdx
@@ -1,13 +1,8 @@
-# Centralized Exchanges
-
-Centralized exchanges enable users to trade Sei tokens with ease. Some major exchanges supporting Sei are:
+import { AppCardsGrid } from "../../components";
+import { Tag } from "../../data/appData";
-## **Coinbase**:
-[Coinbase](https://www.coinbase.com/)
+# Centralized Exchanges
-## **Binance**:
-[Binance](https://www.binance.com/)
+Centralized exchanges facilitate seamless trading of **Sei tokens**. Some of the key exchanges supporting Sei include:
-## **KuCoin**:
-[KuCoin](https://www.kucoin.com/)
-### And more
+
diff --git a/pages/dev-ecosystem-providers/faucets.mdx b/pages/dev-ecosystem-providers/faucets.mdx
index fad0c742..5dd4f90c 100644
--- a/pages/dev-ecosystem-providers/faucets.mdx
+++ b/pages/dev-ecosystem-providers/faucets.mdx
@@ -2,10 +2,13 @@
Faucets provide free tokens to developers for testing purposes. Sei offers faucets for testnet and devnet:
-## **Sei App Faucet**:
+## Sei App Faucet
+
Available for the Atlantic-2 and Arctic-1 networks.
- - [Atlantic-2 Faucet](https://atlantic-2.app.sei.io/faucet)
- - [Arctic-1 Faucet](https://arctic-1.app.sei.io/faucet)
-## **Compass wallet**:
+- [Atlantic-2 Faucet](https://atlantic-2.app.sei.io/faucet)
+- [Arctic-1 Faucet](https://arctic-1.app.sei.io/faucet)
+
+## Compass wallet
+
This wallet has integrated a faucet directly into the wallet for a very easy user experience.
diff --git a/pages/dev-ecosystem-providers/indexers/indexers.mdx b/pages/dev-ecosystem-providers/indexers/indexers.mdx
index 3ce7172e..38258b43 100644
--- a/pages/dev-ecosystem-providers/indexers/indexers.mdx
+++ b/pages/dev-ecosystem-providers/indexers/indexers.mdx
@@ -2,15 +2,21 @@
Indexers collect and organize blockchain data, making it easier to query and analyze. Key indexers for Sei include:
-## **Flipside**:
+## **Flipside**
+
Provides detailed blockchain analytics and insights.
- - [Flipside](https://flipsidecrypto.xyz/)
-## **The Graph (EVM only)**:
+- [Flipside](https://flipsidecrypto.xyz/)
+
+## **The Graph (EVM only)**
+
Allows for querying blockchain data using GraphQL.
- - [Quick Start Guide](/dev-ecosystem-providers/indexers/the-graph)
- - [The Graph](https://thegraph.com/)
-## **SubQuery**:
+- [Quick Start Guide](/dev-ecosystem-providers/indexers/the-graph)
+- [The Graph](https://thegraph.com/)
+
+## **SubQuery**
+
SubQuery is a fast, flexible, and reliable open-source data decentralised infrastructure network, providing both RPC and indexed data to consumers around the world.
- - [SubQuery Docs](https://academy.subquery.network/indexer/quickstart/quickstart_chains/cosmos-sei.html)
+
+- [SubQuery Docs](https://academy.subquery.network/indexer/quickstart/quickstart_chains/cosmos-sei.html)
diff --git a/pages/dev-ecosystem-providers/nfts.mdx b/pages/dev-ecosystem-providers/nfts.mdx
index a236449b..306d9789 100644
--- a/pages/dev-ecosystem-providers/nfts.mdx
+++ b/pages/dev-ecosystem-providers/nfts.mdx
@@ -1,7 +1,8 @@
+import { AppCardsGrid } from "../../components";
+import { Tag } from "../../data/appData";
+
# NFT’s
The following providers provide helpful tools for creating and managing NFT projects on Sei.
-## **Lighthouse/Webump**
-Lighthouse is a helpful tool for creating NFT projects.
- - [Link](https://webump.xyz/)
+
diff --git a/pages/dev-ecosystem-providers/oracles.mdx b/pages/dev-ecosystem-providers/oracles.mdx
index 2134a0b8..7f86a11b 100644
--- a/pages/dev-ecosystem-providers/oracles.mdx
+++ b/pages/dev-ecosystem-providers/oracles.mdx
@@ -1,6 +1,8 @@
+import { AppCardsGrid } from "../../components";
+import { Tag } from "../../data/appData";
+
# Oracles
Oracles provide external data to smart contracts, enabling more dynamic and responsive applications. Notable oracles for Sei include:
-## **Pyth**
- - [Pyth Documentation](https://docs.pyth.network/home)
+
diff --git a/pages/dev-ecosystem-providers/rpc-providers.mdx b/pages/dev-ecosystem-providers/rpc-providers.mdx
index 7af0028a..4fbabb5b 100644
--- a/pages/dev-ecosystem-providers/rpc-providers.mdx
+++ b/pages/dev-ecosystem-providers/rpc-providers.mdx
@@ -1,19 +1,8 @@
+import { AppCardsGrid } from "../../components";
+import { Tag } from "../../data/appData";
+
# RPC Providers
RPC providers offer endpoints for developers to interact with the Sei blockchain, archive nodes, genesis files, and more. Some notable providers include:
-## **Rhino**:
-Provides robust RPC services for seamless blockchain interactions.
- - [Rhino](https://rhinostake.com/#)
-
-## **QuickNode**:
-A trusted infrastructure partner for the Sei network, providing developers with powerful APIs and dedicated support to streamline their blockchain applications.
- - [QuickNode](https://www.quicknode.com/)
-
-## **Polkachu**:
-Offers RPC/REST/gRPC, snapshot, genesis files, and more.
- - [Polkachu](https://polkachu.com/networks/sei)
-
-## **SubQuery**:
-SubQuery is a fast, flexible, and reliable open-source data decentralised infrastructure network, providing both RPC and indexed data to consumers around the world.
- - [SubQuery Docs](https://academy.subquery.network/indexer/quickstart/quickstart_chains/cosmos-sei.html)
+
diff --git a/pages/dev-node/quickstart.mdx b/pages/dev-node/quickstart.mdx
index 733a1374..2cef6020 100644
--- a/pages/dev-node/quickstart.mdx
+++ b/pages/dev-node/quickstart.mdx
@@ -52,21 +52,25 @@ Before running the script, take a moment to understand the configurable paramete
- **Default**: `"pynode"`
- **Usage**: Any name you prefer for easy identification of your node.
+
2. **trust_height_delta**:
- **Description**: The negative height offset for state sync. It defines how many blocks before the latest block you trust for syncing.
- **Default**: `20000`
- - **Usage**: Adjust this, usually lawer if you experience syncing issues.
+ - **Usage**: If you experience syncing issues, try adjusting this somewhere between 10000-35000
+
3. **enable_unsafe_reset**:
- **Description**: Determines whether to wipe the existing configs, database and keys before setting up the node.
- **Default**: `True`
- - **Usage**: Set to `False` if you want to retain existing data. Use `True` for a clean setup.
+ - **Usage**: Defaults to `True` for a clean setup. Set `False` to retain existing data.
+
4. **version_override**:
- **Description**: Overrides automatic version selection in favor of version(s) specified in [`ENV_TO_CONFIG`](https://github.com/sei-protocol/sei-chain/blob/3b8b27c597a93b968f17335f911d35b38e5cf1f6/scripts/run-node.py#L28)
- **Default**: `False`
- **Usage**: Set `True` to force version specified in the parameters below.
+
5. **MAINNET_VERSION, DEVNET_VERSION, TESTNET_VERSION**:
- **Description**: Versions of the chain binary for several environments, both testing and production.
- **Default**:
@@ -75,6 +79,7 @@ Before running the script, take a moment to understand the configurable paramete
- TESTNET_VERSION = `"v5.2.2"`
- **Usage**: Specify the version to be installed if `version_override` is `True`.
+
6. **ENV_TO_CONFIG**:
- **Description**: This maps environment names to their chain IDs and version overrides.
- **Default**:
@@ -88,6 +93,7 @@ Before running the script, take a moment to understand the configurable paramete
```
- **Usage**: Modify this dictionary to run a specific chian version for a given network.
+
---
## Running the Script
@@ -96,23 +102,28 @@ Before running the script, take a moment to understand the configurable paramete
- Ensure you have the required dependencies installed: Go 1.21, make, gcc, and Docker.
- Backup any important existing data before proceeding, the script will wipe existing data by default.
+
2. **Execute the Script**:
- Run the script using Python: `python3 ./scripts/run_node.py`
- Follow the prompts to choose the environment (local, devnet, testnet, mainnet) and the database backend (legacy or sei-db).
+
3. **Environment Selection**:
- The script will fetch the chain ID and version based on your environment selection. If `local` is selected, it will fetch the latest / most current version from GitHub.
+
4. **Installation and Configuration**:
- The script will download the specified version, extract it, and install it using `make install`.
- If `enable_unsafe_reset` is `True`, it will reset the Tendermint state and any existing configs + keys.
- The script will initialize the node with the given moniker and chain ID.
- For non-local environments, it will fetch state sync parameters, persistent peers, and apropriate genesis file.
+
5. **Configuration Files**:
- The script will modify `config.toml` and `app.toml` based on your selections and the fetched data.
- If `sei-db` is selected as the database backend, additional configurations will be applied to `app.toml`.
+
6. **Start the Node**:
- The script then starts the node and begins to sync.
- At this point you may stop the script [`ctrl+C`] and run the node manually or as a service, or keep running in the terminal as long as needed.
diff --git a/pages/dev-smart-contracts.mdx b/pages/dev-smart-contracts.mdx
index 7e96adf1..6b1a327d 100644
--- a/pages/dev-smart-contracts.mdx
+++ b/pages/dev-smart-contracts.mdx
@@ -16,6 +16,7 @@ Smart contracts are self-executing contracts with their own state. On Sei, devel
When developing smart contracts on Sei, developers have the option to choose between using the EVM and CosmWasm. Each approach has its own benefits and trade-offs, and the best choice depends on the specific requirements and context of the project. Here, we will compare EVM and CosmWasm to help you make an informed decision.
### EVM
+
The EVM is a decentralized computation engine that allows the execution of smart contracts on Ethereum and EVM-compatible blockchains. EVM contracts are typically written in Solidity, a language designed for Ethereum.
## Best Practices
diff --git a/pages/dev-tutorials/pointer-contracts.mdx b/pages/dev-tutorials/pointer-contracts.mdx
index 8d16901e..2b92016f 100644
--- a/pages/dev-tutorials/pointer-contracts.mdx
+++ b/pages/dev-tutorials/pointer-contracts.mdx
@@ -19,12 +19,12 @@ The list of requirements for deploying a pointer is fairly short:
- Sei light client (CLI/daemon) installed on your machine. You can follow the [installation guide](./installing-seid.mdx) if needed.
- Address for the relevant contract (the "pointee")
-When a pointer is registered for any given contract, the two are mapped and identifiable across both execution environments. This link is immutable and can only be changed by the original address that created it.
+When a pointer is registered for any given contract, the two are mapped and identifiable across both execution environments. This link is immutable and can only be changed through governance.
-Before deploying a pointer, you should first check if a pointer for the token/contract you wish to deploy already exists by running the following query:
+Before deploying a pointer, you should first check if a pointer for the token/contract you wish to deploy already exists, using this query:
```bash
-seid q evm pointer $TYPE $POINTEE --evm-rpc=https://evm-rpc.arctic-1.seinetwork.io/
+seid q evm pointer [type] [pointee] [flags]
```
**Arguments**
@@ -41,7 +41,7 @@ seid q evm pointer $TYPE $POINTEE --evm-rpc=https://evm-rpc.arctic-1.seinetwork.
To deploy a Pointer Contract that links to a CosmWasm contract, you can use the following command:
```bash
-seid tx evm register-evm-pointer [pointer type] [cw-address] --gas-fee-cap= --gas-limit= --evm-rpc=
+seid tx evm register-evm-pointer [pointer type] [cw-address] --gas-fee-cap= --gas-limit=
```
#### Arguments
@@ -59,8 +59,9 @@ seid tx evm register-evm-pointer [pointer type] [cw-address] --gas-fee-cap=
After initially registering a pointer, it is advisable to confirm registration by using the following command:
-```bash
-seid query evm pointer [type] [pointee] [flags]
+```shell
+Usage:
+ seid query evm pointer [type] [pointee] [flags]
```
#### Arguments
@@ -92,24 +93,24 @@ seid query evm pointer [type] [pointee] [flags]
To deploy a CW20 Pointer Contract that links to an ERC20 token, you can use the following command:
```bash
-seid tx evm register-cw-pointer ERC20 $ERC20_TOKEN_ADDRESS --from=$SENDER --chain-id=arctic-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.arctic-1.seinetwork.io
+seid tx evm register-cw-pointer ERC20 $ERC20_TOKEN_ADDRESS --from=$SENDER --chain-id=pacific-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.sei-apis.com
```
#### Arguments
-- `ERC20_TOKEN_ADDRESS`: The contract address of the ERC20 token you want to create a CW20 pointer for.
+- `ERC20_TOKEN_ADDRESS`: The contract address of the ERC20 contract to create a CW20 pointer for.
#### Flags
- `--from`: Keyfile (by name) from which the tx is sent. This address must have enough balance to cover transaction fees.
-- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `arctic-1` refers to the Sei devnet.
+- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `pacific-1` refers to the Sei mainnet.
- `--broadcast-mode`: Determines how the transaction is broadcasted. Setting this to `block` means the transaction will wait to be included in a block before returning a response.
- `--gas`: Specifies the maximum amount of gas that can be consumed by the transaction.
- `--fees`: Indicates the transaction fee.
- `--node`: Points to the specific Sei node RPC URL you're connecting to for transaction submission.
- To check out the source code, please visit our [GitHub page](https://github.com/sei-protocol).
+ Source code for pointer contracts can be seen in the [contracts directory](https://github.com/sei-protocol/sei-chain/tree/main/contracts/src) of the [sei-chain](https://github.com/sei-protocol/sei-chain) repo.
### For ERC721 Tokens
@@ -117,17 +118,17 @@ seid tx evm register-cw-pointer ERC20 $ERC20_TOKEN_ADDRESS --from=$SENDER --chai
To deploy a CW721 Pointer Contract that links to an ERC721 token, you can use the following command:
```bash
-seid tx evm register-cw-pointer ERC721 $ERC721_TOKEN_ADDRESS --from=$SENDER --chain-id=arctic-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.arctic-1.seinetwork.io
+seid tx evm register-cw-pointer ERC721 $ERC721_TOKEN_ADDRESS --from=$SENDER --chain-id=pacific-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.sei-apis.com
```
#### Arguments
-- `ERC721_TOKEN_ADDRESS`: The contract address of the ERC721 token you want to create a CW721 pointer for.
+- `ERC721_TOKEN_ADDRESS`: The contract address of the ERC721 token to create a CW721 pointer for.
#### Flags
- `--from`: Keyfile (by name) from which the tx is sent. This address must have enough balance to cover transaction fees.
-- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `arctic-1` refers to the Sei devnet.
+- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `pacific-1` refers to Sei mainnet.
- `--broadcast-mode`: Determines how the transaction is broadcasted. Setting this to `block` means the transaction will wait to be included in a block before returning a response.
- `--gas`: Specifies the maximum amount of gas that can be consumed by the transaction.
- `--fees`: Indicates the transaction fee.
@@ -140,17 +141,17 @@ seid tx evm register-cw-pointer ERC721 $ERC721_TOKEN_ADDRESS --from=$SENDER --ch
To deploy an ERC20 Pointer Contract that links to a CW20 token, you can use the following command:
```bash
-seid tx evm register-evm-pointer CW20 $CW20_TOKEN_ADDRESS --from=$SENDER --chain-id=arctic-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.arctic-1.seinetwork.io
+seid tx evm register-evm-pointer CW20 $CW20_TOKEN_ADDRESS --from=$SENDER --chain-id=pacific-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.sei-apis.com
```
#### Arguments
-- `CW20_TOKEN_ADDRESS`: The contract address of the CW20 token you want to create an ERC20 pointer for.
+- `CW20_TOKEN_ADDRESS`: The contract address of the CW20 contract to create an ERC20 pointer for.
#### Flags
- `--from`: Keyfile (by name) from which the tx is sent. This address must have enough balance to cover transaction fees.
-- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `arctic-1` refers to the Sei devnet.
+- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `pacific-1` refers to Sei mainnet.
- `--broadcast-mode`: Determines how the transaction is broadcasted. Setting this to `block` means the transaction will wait to be included in a block before returning a response.
- `--gas`: Specifies the maximum amount of gas that can be consumed by the transaction.
- `--fees`: Indicates the transaction fee.
@@ -161,17 +162,17 @@ seid tx evm register-evm-pointer CW20 $CW20_TOKEN_ADDRESS --from=$SENDER --chain
To deploy an ERC721 Pointer Contract that links to a CW721 token, you can use the following command:
```bash
-seid tx evm register-evm-pointer CW721 $CW721_TOKEN_ADDRESS --from=$SENDER --chain-id=arctic-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.arctic-1.seinetwork.io
+seid tx evm register-evm-pointer CW721 $CW721_TOKEN_ADDRESS --from=$SENDER --chain-id=pacific-1 --broadcast-mode=block --gas=200000 --fees=5000usei --node=https://rpc.sei-apis.com
```
#### Arguments
-- `CW721_TOKEN_ADDRESS`: The contract address of the CW721 token you want to create an ERC721 pointer for.
+- `CW721_TOKEN_ADDRESS`: The contract address of the CW721 token to create an ERC721 pointer for.
#### Flags
- `--from`: Keyfile (by name) from which the tx is sent. This address must have enough balance to cover transaction fees.
-- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `arctic-1` refers to the Sei devnet.
+- `--chain-id`: Identifies the specific chain of the Sei network you're interacting with. `pacific-1` refers to Sei mainnet.
- `--broadcast-mode`: Determines how the transaction is broadcasted. Setting this to `block` means the transaction will wait to be included in a block before returning a response.
- `--gas`: Specifies the maximum amount of gas that can be consumed by the transaction.
- `--fees`: Indicates the transaction fee.
diff --git a/public/assets/apps/axelar-logo.png b/public/assets/apps/axelar-logo.png
new file mode 100644
index 00000000..72bcefe0
Binary files /dev/null and b/public/assets/apps/axelar-logo.png differ
diff --git a/public/assets/apps/binance-cex.png b/public/assets/apps/binance-cex.png
new file mode 100644
index 00000000..b09591e6
Binary files /dev/null and b/public/assets/apps/binance-cex.png differ
diff --git a/public/assets/apps/coinbase-cex.png b/public/assets/apps/coinbase-cex.png
new file mode 100644
index 00000000..a703fc8f
Binary files /dev/null and b/public/assets/apps/coinbase-cex.png differ
diff --git a/public/assets/apps/flipside-logo.png b/public/assets/apps/flipside-logo.png
new file mode 100644
index 00000000..034f97ce
Binary files /dev/null and b/public/assets/apps/flipside-logo.png differ
diff --git a/public/assets/apps/kucoin-cex.png b/public/assets/apps/kucoin-cex.png
new file mode 100644
index 00000000..5c547eef
Binary files /dev/null and b/public/assets/apps/kucoin-cex.png differ
diff --git a/public/assets/apps/polkachu.png b/public/assets/apps/polkachu.png
new file mode 100644
index 00000000..3f00688a
Binary files /dev/null and b/public/assets/apps/polkachu.png differ
diff --git a/public/assets/apps/pyth-network.png b/public/assets/apps/pyth-network.png
new file mode 100644
index 00000000..fb985996
Binary files /dev/null and b/public/assets/apps/pyth-network.png differ
diff --git a/public/assets/apps/quicknode.png b/public/assets/apps/quicknode.png
new file mode 100644
index 00000000..9660210d
Binary files /dev/null and b/public/assets/apps/quicknode.png differ
diff --git a/public/assets/apps/rhino.png b/public/assets/apps/rhino.png
new file mode 100644
index 00000000..91a7b11b
Binary files /dev/null and b/public/assets/apps/rhino.png differ
diff --git a/public/assets/apps/squid-logo.png b/public/assets/apps/squid-logo.png
new file mode 100644
index 00000000..0b4c87b2
Binary files /dev/null and b/public/assets/apps/squid-logo.png differ
diff --git a/public/assets/apps/stargate-logo.png b/public/assets/apps/stargate-logo.png
new file mode 100644
index 00000000..cdb0e28b
Binary files /dev/null and b/public/assets/apps/stargate-logo.png differ
diff --git a/public/assets/apps/subgraph-logo.png b/public/assets/apps/subgraph-logo.png
new file mode 100644
index 00000000..9244088b
Binary files /dev/null and b/public/assets/apps/subgraph-logo.png differ
diff --git a/public/assets/apps/the-graph-logo.png b/public/assets/apps/the-graph-logo.png
new file mode 100644
index 00000000..3846a48e
Binary files /dev/null and b/public/assets/apps/the-graph-logo.png differ
diff --git a/public/assets/apps/wormhole-logo.png b/public/assets/apps/wormhole-logo.png
new file mode 100644
index 00000000..332e3bf2
Binary files /dev/null and b/public/assets/apps/wormhole-logo.png differ
diff --git a/utils/index.ts b/utils/index.ts
new file mode 100644
index 00000000..daab5dec
--- /dev/null
+++ b/utils/index.ts
@@ -0,0 +1,6 @@
+import { clsx, type ClassValue } from "clsx";
+import { twMerge } from "tailwind-merge";
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index e161276a..841ec4e3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4115,7 +4115,7 @@ clsx@^1.1.0:
clsx@^2.1.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
collapse-white-space@^2.0.0:
@@ -9531,9 +9531,9 @@ tabbable@^6.0.0:
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
-tailwind-merge@^2.2.1:
+tailwind-merge@^2.3.0:
version "2.3.0"
- resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.3.0.tgz"
+ resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.3.0.tgz#27d2134fd00a1f77eca22bcaafdd67055917d286"
integrity sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==
dependencies:
"@babel/runtime" "^7.24.1"