Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -253,3 +253,110 @@ aside,
.nextra-nav-container a.nx-me-auto {
margin-inline-end: 0 !important;
}

/* Callout component overrides - targeting Nextra's actual structure */
.nextra-callout {
margin: 1.75rem 0 !important;
padding: 16px 20px !important;
border-radius: 12px !important;
border-width: 1.5px !important;
box-shadow:
0 20px 44px -26px rgba(15, 23, 42, 0.16),
0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
background: transparent !important;
}

.dark .nextra-callout {
box-shadow:
0 24px 54px -28px rgba(3, 7, 18, 0.6),
0 0 0 1px rgba(255, 255, 255, 0.05) inset !important;
background: transparent !important;
}

.nextra-callout :where(p, ul, ol) {
margin-top: 0 !important;
margin-bottom: 0.75rem !important;
}

.nextra-callout :where(p:last-child, ul:last-child, ol:last-child) {
margin-bottom: 0 !important;
}

.nextra-callout code {
background: var(--callout-code-bg) !important;
border-radius: 6px !important;
padding: 0.16rem 0.48rem !important;
font-size: 0.84em !important;
border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Info callout (blue) */
.nextra-callout.x\\:border-blue-200 {
--callout-code-bg: rgba(59, 130, 246, 0.1);
border-color: rgba(59, 130, 246, 0.35) !important;
color: rgba(30, 58, 138, 0.88) !important;
}

.dark .nextra-callout.x\\:border-blue-200 {
--callout-code-bg: rgba(147, 197, 253, 0.12);
border-color: rgba(147, 197, 253, 0.5) !important;
color: rgba(224, 242, 254, 0.96) !important;
}

.dark .nextra-callout.x\\:border-blue-200 svg {
color: rgba(147, 197, 253, 0.92) !important;
}

/* Warning callout (yellow) */
.nextra-callout.x\\:border-yellow-100,
.nextra-callout.x\\:border-yellow-200 {
--callout-code-bg: rgba(234, 179, 8, 0.1);
border-color: rgba(234, 179, 8, 0.42) !important;
color: rgba(113, 63, 18, 0.85) !important;
}

.dark .nextra-callout.x\\:border-yellow-100,
.dark .nextra-callout.x\\:border-yellow-200 {
--callout-code-bg: rgba(253, 224, 71, 0.12);
border-color: rgba(253, 224, 71, 0.55) !important;
color: rgba(254, 249, 195, 0.96) !important;
}

.dark .nextra-callout.x\\:border-yellow-100 svg,
.dark .nextra-callout.x\\:border-yellow-200 svg {
color: rgba(253, 224, 71, 0.92) !important;
}

/* Error callout (red) */
.nextra-callout.x\\:border-red-200 {
--callout-code-bg: rgba(239, 68, 68, 0.1);
border-color: rgba(239, 68, 68, 0.35) !important;
color: rgba(127, 29, 29, 0.88) !important;
}

.dark .nextra-callout.x\\:border-red-200 {
--callout-code-bg: rgba(252, 165, 165, 0.12);
border-color: rgba(252, 165, 165, 0.5) !important;
color: rgba(254, 226, 226, 0.96) !important;
}

.dark .nextra-callout.x\\:border-red-200 svg {
color: rgba(252, 165, 165, 0.92) !important;
}

/* Default/orange callout */
.nextra-callout.x\\:border-orange-100 {
--callout-code-bg: rgba(234, 88, 12, 0.1);
border-color: rgba(234, 88, 12, 0.35) !important;
color: rgba(124, 45, 18, 0.85) !important;
}

.dark .nextra-callout.x\\:border-orange-100 {
--callout-code-bg: rgba(253, 186, 116, 0.12);
border-color: rgba(253, 186, 116, 0.45) !important;
color: rgba(254, 237, 213, 0.96) !important;
}

.dark .nextra-callout.x\\:border-orange-100 svg {
color: rgba(253, 186, 116, 0.92) !important;
}
33 changes: 10 additions & 23 deletions app/not-found.tsx
Original file line number Diff line number Diff line change
@@ -1,26 +1,13 @@
'use client';
import Link from 'next/link';
import Head from 'next/head';

export default function Custom404() {
export default function NotFound() {
return (
<>
<Head>
<meta name='robots' content='noindex, nofollow' />
</Head>
<div className='flex flex-col items-center justify-center min-h-screen px-4 bg-white text-black dark:bg-black dark:text-white'>
<div className='flex items-center space-x-6 mb-8'>
<h1 className='text-3xl font-bold'>404</h1>
<div className='h-16 w-px bg-black dark:bg-white'></div>
<p className='text-xl'>This page could not be found.</p>
</div>

<Link
href='/'
className='px-6 py-3 mt-6 rounded-md font-medium transition-colors bg-black text-white hover:bg-gray-800 dark:bg-white dark:text-black dark:hover:bg-gray-200'>
Go to Home
</Link>
</div>
</>
<div className='mx-auto flex min-h-[60vh] max-w-2xl flex-col items-start gap-4 px-6 py-16 text-left sm:px-8'>
<h1 className='text-3xl font-semibold text-neutral-900 dark:text-neutral-100'>Page not found</h1>
<p className='text-neutral-600 dark:text-neutral-300'>
The page you&apos;re looking for doesn&apos;t exist. Check the URL or return to the documentation home.
</p>
<a href='/' className='rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-500 dark:bg-blue-500 dark:hover:bg-blue-400'>
Back to docs
</a>
</div>
);
}
123 changes: 72 additions & 51 deletions content/evm/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export default {
},
networks: 'Network Information',
'differences-with-ethereum': 'Divergence from Ethereum',
tokens: 'View Tokens',

'-- seid CLI': {
type: 'separator',
Expand All @@ -21,20 +22,23 @@ export default {
type: 'separator',
title: 'Frontend Development'
},
'sei-global-wallet': {
title: 'Sei Global Wallet'
'seijs-sdk': {
title: '@sei-js SDK ↗',
href: 'https://sei-js.docs.sei.io/introduction'
},
'sei-global-wallet': 'Sei Global Wallet',
'building-a-frontend': 'Building a Frontend',
'ledger-ethers': 'Ledger with Ethers',

'-- Smart Contracts': {
type: 'separator',
title: 'Smart Contracts'
},
'evm-general': 'EVM (General)',
'evm-hardhat': 'EVM with Hardhat',
'evm-foundry': 'EVM with Foundry',
'evm-hardhat': 'Hardhat',
'evm-foundry': 'Foundry',
'evm-wizard': {
title: 'EVM Contract Wizard',
title: 'Contract Wizard',
theme: {
sidebar: true,
toc: false,
Expand All @@ -43,66 +47,83 @@ export default {
},
'solidity-resources': 'Solidity Resources',
'optimizing-for-parallelization': 'Optimizing for Parallelization',
'debugging-contracts': 'Debugging for EVM',
tracing: 'Debug Tracing',
'debugging-contracts': 'Debugging',
'evm-verify-contracts': 'Verify Contracts',
precompiles: 'Precompiles',

'-- Sei-js': {
'-- Core Concepts': {
type: 'separator',
title: 'sei-js Library'
},
'seijs-introduction': {
title: 'Introduction to sei-js',
href: 'https://sei-js.docs.sei.io/introduction'
},
'scaffold-sei': {
title: 'Scaffold Sei',
href: 'https://sei-js.docs.sei.io/create-sei'
},
'mcp-server-seijs': {
title: 'MCP Server',
href: 'https://sei-js.docs.sei.io/mcp-server'
title: 'Core Concepts'
},
'sei-x402': {
title: 'X402',
href: 'https://sei-js.docs.sei.io/x402'
},
'seijs-ledger': {
title: 'Ledger',
href: 'https://sei-js.docs.sei.io/ledger'
transactions: 'Transactions',
'rpc-consensus-overview': 'Consensus & Mempool',
reference: 'RPC Reference',

'-- Precompiles': {
type: 'separator',
title: 'Precompiles'
},
'precompile-version-matrix': 'Version Matrix',
'precompile-example-usage': 'Example Usage',
'---precompiles': { type: 'separator' },
'precompile-addr': 'Addr',
'precompile-bank': 'Bank',
'precompile-staking': 'Staking',
'precompile-distribution': 'Distribution',
'precompile-governance': 'Governance',
'precompile-oracle': 'Oracle',
'precompile-ibc': 'IBC',
'precompile-pointer': 'Pointer',
'precompile-pointerview': 'PointerView',
'precompile-solo': 'Solo',
'precompile-json': 'JSON',
'precompile-P256': 'P256',

'-- Monitoring & Indexing': {
type: 'separator',
title: 'Monitoring & Indexing'
},
'indexing-best-practices': 'Indexing Best Practices',
'indexer-providers': 'Indexer Providers',
'tracing-overview': 'Tracing Overview',
'tracing-playbook': 'Tracing Playbook',
'tracing-javascript-tracers': 'JavaScript Tracers',
'rpc-tracer-guide': 'Custom Tracer Guide',
'tracing-troubleshooting': 'Tracing Troubleshooting',

'-- RPC Diagnostics': {
type: 'separator',
title: 'RPC Diagnostics'
},
'rpc-gas-accounting': 'Gas Accounting',
'rpc-gas-reference': 'Gas Reference',
'rpc-prioritizer': 'Tx Prioritizer',
'rpc-regression-playbook': 'Regression Coverage',
'rpc-panic-faq': 'Panic Handling FAQ',
'rpc-websockets': 'WebSockets',
'rpc-synthetic-transactions': 'Synthetic Transactions',

'-- Interoperability': {
type: 'separator',
title: 'Interoperability'
},
'pointers-deep-dive': 'Pointers Deep Dive',
'ibc-protocol': 'IBC on EVM',
'cosmwasm-precompiles': 'CosmWasm Precompiles',

'-- Ecosystem Tutorials': {
'-- Ecosystem': {
type: 'separator',
title: 'Ecosystem Tutorials'
title: 'Ecosystem'
},
'indexer-providers': 'Indexers',
'wallet-integrations': 'Wallet Integrations',
bridging: 'Bridging',
'ai-tooling': 'AI Tooling',
'usdc-on-sei': 'USDC on Sei',
'-- Reference': {
type: 'separator',
title: 'Reference'
},
transactions: 'Transaction Overview',
reference: 'RPC Reference',
tokens: 'View Tokens',
changelog: 'Changelog',
'dappradar-guide': 'DappRadar Guide',
'ecosystem-contracts': 'Ecosystem Contracts',
'dappradar-guide': 'DappRadar',

'-- Hardware Wallets': {
type: 'separator',
title: 'Hardware Wallets'
},
'ledger-ethers': 'Using Ledger with Ethers',

'-- CosmWasm Interoperability': {
'-- Meta': {
type: 'separator',
title: 'CosmWasm Interoperability'
title: 'Meta'
},
'cosmwasm-precompiles': 'Precompiles',
'ibc-protocol': 'IBC on EVM'
changelog: 'Changelog'
};
4 changes: 2 additions & 2 deletions content/evm/ai-tooling/cambrian-agent-kit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { IconInfoCircle, IconAlertTriangle, IconShield, IconCode, IconDatabase }

## Overview

Cambrian Agent Kit is a developer SDK for building powerful, autonomous AI agents and agentic chatbots on the SEI blockchain. It lets you interact with DeFi protocols (Takara, Silo, Citrex, Symphony), manage SEI tokens and NFTs, and seamlessly integrate AI workflows. In this tutorial, you'll learn how to set up the kit, run your first agent, and use it for real DeFi use casescustomized for your needs. To understand more and deep dive into how it works under the hood, please refer to the [Cambrian Agent Kit Documentation](https://deepwiki.com/CambrianAgents/sei-agent-kit/1-overview).
Cambrian Agent Kit is a developer SDK for building powerful, autonomous AI agents and agentic chatbots on the SEI blockchain. It lets you interact with DeFi protocols (Takara, Silo, Citrex, Symphony), manage SEI tokens and NFTs, and seamlessly integrate AI workflows. In this tutorial, you'll learn how to set up the kit, run your first agent, and use it for real DeFi use cases-customized for your needs. To understand more and deep dive into how it works under the hood, please refer to the [Cambrian Agent Kit Documentation](https://deepwiki.com/CambrianAgents/sei-agent-kit/1-overview).

## Supported Features

Expand Down Expand Up @@ -189,7 +189,7 @@ async function checkBalanceWithErrorHandling() {

// Validate balance before proceeding
if (parseFloat(balance) < 0.01) {
console.warn('⚠️ Low SEI balance. You may need more SEI for gas fees.');
console.warn('Low SEI balance. You may need more SEI for gas fees.');
}
} catch (error) {
console.error('Error checking balance:', error.message);
Expand Down
16 changes: 8 additions & 8 deletions content/evm/bridging/layerzero.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ You've issued an omnichain token and bridged it from Sei Mainnet to Optimism. Cu

### Common Issues and Solutions

<Callout type="error" emoji="🚨">
<Callout type="error">
**Quote Send Reverts**

If your `quoteSend` call reverts, it usually means that your LayerZero wiring hasn't been fully configured or there's no default pathway for the chains you're trying to bridge. Here's how to diagnose and fix it:
Expand Down Expand Up @@ -659,7 +659,7 @@ Once you've updated your config, retry your `quoteSend` flow. It should now retu

</Callout>

<Callout type="info" emoji="💡">
<Callout type="info">
**Insufficient Gas**

If the transaction fails on the destination chain, try to increase the gas like this:
Expand Down Expand Up @@ -695,11 +695,11 @@ let options = Options.newOptions().addExecutorLzReceiveOption(150000, 0).toBytes

You've successfully:

- Created an Omnichain Fungible Token project
- Configured networks and LayerZero pathways
- Deployed contracts to multiple chains
- Connected the deployments via LayerZero wiring
- Created tasks for cross-chain token transfers
- Learned how LayerZero enables omnichain applications
- Created an Omnichain Fungible Token project
- Configured networks and LayerZero pathways
- Deployed contracts to multiple chains
- Connected the deployments via LayerZero wiring
- Created tasks for cross-chain token transfers
- Learned how LayerZero enables omnichain applications

Your tokens can now move freely between SEI and any connected chain, maintaining a unified supply and enabling true cross-chain functionality!
3 changes: 2 additions & 1 deletion content/evm/bridging/thirdweb.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ keywords:
- bridging
- any
---

# Enable Onramps, Swapping & Bridging on Any EVM Chain

[**Payments**](https://thirdweb.com/payments?utm_source=sei&utm_medium=documentation&utm_campaign=chain_docs) is a comprehensive Web3 payment solution to help you monetize any app or game.

With Payments, your users can **onramp, bridge, and swap** on any EVM chain with any EVM token or fiat thanks to its **automatic cross-chain routing**.
With Payments, your users can **onramp, bridge, and swap** on any EVM chain - with any EVM token or fiat - thanks to its **automatic cross-chain routing**.

Plus, developers can **earn from day one** using the **fee-sharing mechanism** and **easy implementation**.

Expand Down
2 changes: 1 addition & 1 deletion content/evm/building-a-frontend.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Developing the frontend of a dApp on Sei EVM involves connecting to wallets, int

We'll implement the same functionality using each library so you can compare their approaches and choose the one that best fits your development style.

<Callout emoji="🚀">
<Callout>

**Deploy to Testnet First**

Expand Down
Loading
Loading