diff --git a/evm/debugging-contracts.mdx b/evm/debugging-contracts.mdx
index e18b172..491e01d 100644
--- a/evm/debugging-contracts.mdx
+++ b/evm/debugging-contracts.mdx
@@ -3,6 +3,9 @@ title: 'Debugging for EVM'
description: 'Advanced debugging techniques for EVM transactions on Sei. Learn transaction template generation and analysis using seid and Foundry cast tools.'
keywords: ['EVM debugging', 'transaction templates', 'foundry cast', 'evm analysis', 'transaction debugging']
---
+
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
## Overview
Debugging EVM transactions on Sei requires understanding both the transaction creation process and how to analyze transaction behavior. This guide covers advanced debugging techniques using transaction template generation, analysis tools, and comprehensive transaction inspection methods to help developers identify and resolve issues in their EVM interactions.
@@ -165,6 +168,30 @@ cast chain-id --rpc-url=$EVM_RPC_URL
- Underpriced `maxFeePerGas`/`maxPriorityFeePerGas`
- Chain ID mismatch
+### Try it live
+
+Each `cast` diagnostic above is a plain read-only JSON-RPC call. Run the same four against Sei mainnet right here — the example address (`0xAa55…3d96`) is the sender from the `cast tx` output earlier on this page.
+
+
+
+
+
+
+
+
+
---
## Offline Workflow with --generate-only
diff --git a/evm/evm-foundry.mdx b/evm/evm-foundry.mdx
index 0d2dd03..f943750 100644
--- a/evm/evm-foundry.mdx
+++ b/evm/evm-foundry.mdx
@@ -4,6 +4,11 @@ sidebarTitle: 'EVM with Foundry'
description: 'Learn how to develop, test, and deploy smart contracts on Sei EVM using Foundry, with step-by-step examples of contract creation, testing, deployment, and interaction using both CLI and ethers.js.'
keywords: ['sei evm', 'foundry', 'forge', 'smart contract', 'web3 development', 'nft', 'erc721', 'erc20']
---
+
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
This tutorial will guide you through setting up Foundry for Sei EVM development and using OpenZeppelin contracts to build secure, standardized smart contracts. We'll cover environment setup, contract creation, deployment, and show how to leverage OpenZeppelin's pre-built components with the powerful Foundry toolkit.
Watch the video walkthrough for this topic in the [Video Tutorials](/evm/videos) section.
@@ -16,6 +21,27 @@ It is highly recommended that you deploy to testnet (atlant
+## Try it before you install
+
+Installing Foundry and scaffolding a project takes a few minutes. If you just want to see a contract deploy to Sei, you can do both of these right now in the browser.
+
+First, confirm the RPC endpoints you'll put in `foundry.toml` respond:
+
+
+
+
+
+Then add Sei testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no `forge`, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
+
+
+
+
+
## Table of Contents
- [Prerequisites](#prerequisites)
diff --git a/evm/evm-general.mdx b/evm/evm-general.mdx
index 2ca76ea..544fffd 100644
--- a/evm/evm-general.mdx
+++ b/evm/evm-general.mdx
@@ -4,6 +4,11 @@ sidebarTitle: 'EVM (General)'
description: "Comprehensive guide on Ethereum Virtual Machine (EVM) on Sei blockchain. Learn about smart contract languages, development tools, and best practices for building on Sei's parallelized EVM."
keywords: ['sei evm', 'ethereum virtual machine', 'smart contracts', 'solidity', 'vyper']
---
+
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
## Overview
The Ethereum Virtual Machine (EVM) is the runtime environment for smart
@@ -26,6 +31,25 @@ Here are some key points about the EVM:
machine-readable instructions) and deployed to the EVM compatible network.
The EVM executes this bytecode.
+## Try it: deploy without any setup
+
+You don't need a local toolchain to ship a contract to Sei. First confirm the network is live, then compile and deploy a minimal `Counter.sol` to testnet straight from the browser.
+
+
+
+
+
+Add Sei testnet to your wallet, then deploy from Remix below — compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**:
+
+
+
+
+
## Smart contract languages
The two most popular languages for developing smart contracts on the EVM are
diff --git a/evm/evm-hardhat.mdx b/evm/evm-hardhat.mdx
index 6ff6658..5e3d5bc 100644
--- a/evm/evm-hardhat.mdx
+++ b/evm/evm-hardhat.mdx
@@ -4,6 +4,11 @@ sidebarTitle: 'EVM with Hardhat'
description: 'Learn how to set up Hardhat for Sei EVM development, create and deploy smart contracts, and leverage OpenZeppelin components for secure, standardized implementations.'
keywords: ['hardhat', 'smart contracts', 'sei development', 'evm deployment', 'openzeppelin']
---
+
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
This tutorial will guide you through setting up Hardhat for Sei EVM development and using OpenZeppelin contracts to build secure, standardized smart contracts. We'll cover environment setup, contract creation, deployment, and show how to leverage OpenZeppelin's pre-built components.
Watch the video walkthrough for this topic in the [Video Tutorials](/evm/videos) section.
@@ -16,6 +21,27 @@ It is highly recommended that you deploy to testnet (atlant
+## Try it before you install
+
+Setting up the full toolchain takes a few minutes. If you just want to see a contract deploy to Sei, you can do both of these right now in the browser.
+
+First, confirm the RPC endpoints you'll put in `hardhat.config` respond:
+
+
+
+
+
+Then add Sei testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no Node, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
+
+
+
+
+
## Table of Contents
- [Prerequisites](#prerequisites)
diff --git a/evm/evm-parity/examples/deploy-verify.mdx b/evm/evm-parity/examples/deploy-verify.mdx
index 0ba91dc..83be155 100644
--- a/evm/evm-parity/examples/deploy-verify.mdx
+++ b/evm/evm-parity/examples/deploy-verify.mdx
@@ -3,10 +3,30 @@ title: 'Deploy and Verify'
description: 'Deploying and verifying smart contracts on Sei with viem, ethers, Foundry, and Hardhat'
---
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
Sei is EVM-compatible — standard deployment tooling works without modification. This page covers deploying a contract and verifying its source on the Sei block explorer.
For a deeper look at verification options (Remix, Sourcify UI, batch verification), see the [Verify Contracts](/evm/evm-verify-contracts) page.
+## Deploy from your browser (Remix)
+
+No local toolchain required — compile and deploy a contract to Sei testnet straight from the browser. The Remix sandbox below preloads a minimal `Counter.sol`.
+
+First, add Sei testnet to your wallet:
+
+
+
+Then in Remix: compile under the **Solidity Compiler** tab, open **Deploy & Run**, set **Environment** to **Injected Provider — MetaMask** (or **External HTTP Provider** pointed at `https://evm-rpc-testnet.sei-apis.com`), and click **Deploy**. Sei has instant finality, so the deployment confirms in well under a second.
+
+
+
## Deploying with viem or ethers
diff --git a/evm/evm-parity/examples/erc1155.mdx b/evm/evm-parity/examples/erc1155.mdx
index 50e0fea..3ececb4 100644
--- a/evm/evm-parity/examples/erc1155.mdx
+++ b/evm/evm-parity/examples/erc1155.mdx
@@ -3,10 +3,30 @@ title: 'ERC-1155 Interaction'
description: 'Reading and writing ERC-1155 multi-token contracts on Sei with viem and ethers'
---
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
# ERC-1155 Interaction
ERC-1155 is the multi-token standard — a single contract can hold both fungible tokens (like gold coins in a game) and non-fungible tokens (like unique items), with efficient batch operations built in. Standard ERC-1155 contracts work on Sei without modification.
+## Try it: deploy an ERC-1155
+
+Compile and deploy a real ERC-1155 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoMultiToken` with a public `mint(id, amount)`. Then point the read/write patterns below at your deployed address.
+
+First, add Sei testnet to your wallet:
+
+
+
+In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask** (or **External HTTP Provider** at `https://evm-rpc-testnet.sei-apis.com`).
+
+
+
## Setup
diff --git a/evm/evm-parity/examples/erc20.mdx b/evm/evm-parity/examples/erc20.mdx
index 051b205..7b8542b 100644
--- a/evm/evm-parity/examples/erc20.mdx
+++ b/evm/evm-parity/examples/erc20.mdx
@@ -3,10 +3,30 @@ title: 'ERC-20 Interaction'
description: 'Reading and writing ERC-20 tokens on Sei with viem and ethers'
---
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
# ERC-20 Interaction
Standard ERC-20 contracts work on Sei without modification. This page covers the common read and write operations using viem and ethers.
+## Try it: deploy an ERC-20
+
+Compile and deploy a real ERC-20 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoToken`. Then point the read/write patterns below at your deployed address.
+
+First, add Sei testnet to your wallet:
+
+
+
+In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask** (or **External HTTP Provider** at `https://evm-rpc-testnet.sei-apis.com`).
+
+
+
## Setup
diff --git a/evm/evm-parity/examples/erc721.mdx b/evm/evm-parity/examples/erc721.mdx
index d1ed3b1..8425f4d 100644
--- a/evm/evm-parity/examples/erc721.mdx
+++ b/evm/evm-parity/examples/erc721.mdx
@@ -3,10 +3,30 @@ title: 'ERC-721 Interaction'
description: 'Reading and writing ERC-721 NFTs on Sei with viem and ethers'
---
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
# ERC-721 Interaction
Standard ERC-721 contracts work on Sei without modification. This page covers reading token ownership, transferring NFTs, and managing approvals.
+## Try it: deploy an ERC-721
+
+Compile and deploy a real ERC-721 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoNFT` with a public `mint()`. Then point the patterns below at your deployed address.
+
+First, add Sei testnet to your wallet:
+
+
+
+In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask** (or **External HTTP Provider** at `https://evm-rpc-testnet.sei-apis.com`).
+
+
+
## Setup
diff --git a/evm/evm-parity/examples/error-handling.mdx b/evm/evm-parity/examples/error-handling.mdx
index de37806..27310d5 100644
--- a/evm/evm-parity/examples/error-handling.mdx
+++ b/evm/evm-parity/examples/error-handling.mdx
@@ -3,10 +3,32 @@ title: 'Error Handling'
description: 'Decode contract reverts, handle wallet rejections, and recover from RPC errors in Sei apps'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
# Error Handling
Most transaction failures fall into three categories: contract reverts, wallet rejections, and RPC errors. This page shows how to decode each type and respond correctly.
+## Try it: see real errors
+
+The `RunSnippet` widget surfaces whatever the RPC returns — including failures. These two calls fail on purpose so you can see the exact error shape your code has to handle, live against Sei mainnet.
+
+
+
+
+
## Contract Reverts
When a transaction reverts, the error contains the revert reason if the contract provides one.
diff --git a/evm/evm-parity/examples/ethers-quickstart.mdx b/evm/evm-parity/examples/ethers-quickstart.mdx
index dac0ff4..cb568d5 100644
--- a/evm/evm-parity/examples/ethers-quickstart.mdx
+++ b/evm/evm-parity/examples/ethers-quickstart.mdx
@@ -3,6 +3,9 @@ title: 'ethers v6 Quickstart'
description: 'Using ethers v6 with Sei in a Node.js script or browser context'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+
# ethers v6 Quickstart
This example covers ethers v6 with Sei. The patterns apply whether you are writing a Node.js script, a CLI tool, or a browser app.
@@ -55,6 +58,31 @@ Nonce: 7
The exact numbers are illustrative — your block number and balance will differ. `getBlockNumber()` and `getTransactionCount()` return a `number`, while `getBalance()` returns a `bigint` in wei (format it with `ethers.formatEther()`).
+## Try It Live
+
+Run these read-only calls against Sei mainnet right now — no install, no private key. They're plain JSON-RPC, the same reads the script above performs.
+
+
+
+
+
+## Edit and run
+
+Edit and re-run the full ethers code from this page live in the browser — a real ethers v6 `JsonRpcProvider` reading Sei testnet:
+
+
+
## Browser Provider
In a browser context, connect to the user's injected wallet:
diff --git a/evm/evm-parity/examples/multicall.mdx b/evm/evm-parity/examples/multicall.mdx
index c01e82b..8f2fe62 100644
--- a/evm/evm-parity/examples/multicall.mdx
+++ b/evm/evm-parity/examples/multicall.mdx
@@ -3,12 +3,34 @@ title: 'Multicall'
description: 'Batch multiple contract reads into a single RPC call using Multicall3 on Sei'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
# Multicall
Multicall3 lets you batch multiple read calls into a single RPC round-trip, dramatically reducing latency for dashboards, portfolio pages, and any view that needs data from multiple contracts at once.
Multicall3 is deployed at `0xcA11bde05977b3631167028862bE2a173976CA11` on Sei mainnet and testnet — the same address as Ethereum.
+## Try It Live
+
+Multicall3 is a normal contract — you can hit it with a single `eth_call` and no SDK. These run its two zero-argument helpers on Sei mainnet; the hex results decode to decimal below each response.
+
+
+
+
+
## Batching ERC-20 Reads with viem
viem's `multicall` action wraps Multicall3 automatically:
diff --git a/evm/evm-parity/examples/sei-precompiles.mdx b/evm/evm-parity/examples/sei-precompiles.mdx
index abc411c..68dfd14 100644
--- a/evm/evm-parity/examples/sei-precompiles.mdx
+++ b/evm/evm-parity/examples/sei-precompiles.mdx
@@ -3,6 +3,8 @@ title: 'Sei Precompiles'
description: 'Interact with native Sei chain features — staking, governance, native token balances, and more — from EVM applications'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
Sei exposes native chain functionality through precompiled contracts at deterministic EVM addresses. You can call them from any EVM library (viem, ethers, wagmi) using the ABIs exported from `@sei-js/precompiles` — no special SDK required.
Available precompiles include:
@@ -14,6 +16,19 @@ Available precompiles include:
- **JSON** — parse JSON payloads within contracts
- **P256** — verify P-256 elliptic curve signatures
+## Try It Live
+
+Precompiles are callable like any contract — even with a plain `eth_call` from the browser. This hits the **Bank** precompile at `0x0000000000000000000000000000000000001001` on Sei mainnet, calling `name("usei")`. The response is ABI-encoded; it contains the bytes `53 45 49` — ASCII for `SEI`.
+
+
+
For installation instructions, code examples (viem and ethers), common patterns, and a full working Node.js script, see the precompiles reference:
diff --git a/evm/evm-parity/examples/transaction-lifecycle.mdx b/evm/evm-parity/examples/transaction-lifecycle.mdx
index b7618f4..7c8ef37 100644
--- a/evm/evm-parity/examples/transaction-lifecycle.mdx
+++ b/evm/evm-parity/examples/transaction-lifecycle.mdx
@@ -3,10 +3,20 @@ title: 'Transaction Lifecycle'
description: 'Send transactions, wait for receipts, and decode event logs on Sei'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
# Transaction Lifecycle
This page covers the full round-trip of a transaction: building and sending it, waiting for the receipt, and reading the event logs it emitted.
+## Try It Live
+
+Before you send anything, read the live chain state your transaction will interact with — straight from your browser against Sei mainnet, no install or key required.
+
+
+
+
+
## Sending a Transaction
diff --git a/evm/evm-parity/examples/viem-quickstart.mdx b/evm/evm-parity/examples/viem-quickstart.mdx
index 7786a07..66a6e2e 100644
--- a/evm/evm-parity/examples/viem-quickstart.mdx
+++ b/evm/evm-parity/examples/viem-quickstart.mdx
@@ -3,6 +3,9 @@ title: 'viem Quickstart'
description: 'Using viem with Sei in a Node.js script, CLI tool, or backend service'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+
# viem Quickstart
This example shows how to use viem with Sei outside of a React context — in a Node.js script, CLI tool, or backend service. For React apps, see [wagmi](https://wagmi.sh) and the [frontend guide](/evm/building-a-frontend).
@@ -72,6 +75,33 @@ Nonce: 7
The exact numbers are illustrative — your block number and balance will differ. Note the trailing `n`: `getBlockNumber()` and `getBalance()` return `bigint`, while `getTransactionCount()` returns a `number`.
+## Try It Live
+
+Run these read-only calls against Sei mainnet right now — no install, no private key. They're the same reads the script above performs, issued straight from your browser.
+
+
+
+
+
+
+
+## Edit and run
+
+The buttons above issue raw JSON-RPC. To run the full viem code from this page — imports, a public client, several reads — edit and re-run it live in the sandbox below. No install, no wallet, no key:
+
+
+
## Wallet Client
A wallet client handles signing and broadcasting transactions.
diff --git a/evm/evm-parity/examples/wagmi-react.mdx b/evm/evm-parity/examples/wagmi-react.mdx
index 45aa0e1..1881910 100644
--- a/evm/evm-parity/examples/wagmi-react.mdx
+++ b/evm/evm-parity/examples/wagmi-react.mdx
@@ -3,12 +3,33 @@ title: 'Wagmi + React'
description: 'Connect wallets, read chain state, and write transactions in a React app on Sei using Wagmi'
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
# Wagmi + React
[Wagmi](https://wagmi.sh) is the standard React library for EVM wallet connections and contract interactions. This page covers the essential patterns for a Sei frontend: configuration, wallet connect/disconnect, reading balances, and writing to contracts.
For Node.js scripts and backend services, see the [viem Quickstart](/evm/evm-parity/examples/viem-quickstart) instead.
+## Try It Live
+
+The hooks below — `useBlockNumber`, `useBalance` — are thin wrappers over JSON-RPC reads. Here are those same reads issued directly against Sei mainnet, no wallet connection required, so you can see the data your components will render.
+
+
+
+
+
## Install
```bash
diff --git a/evm/evm-verify-contracts.mdx b/evm/evm-verify-contracts.mdx
index e275bfc..425ad55 100644
--- a/evm/evm-verify-contracts.mdx
+++ b/evm/evm-verify-contracts.mdx
@@ -3,6 +3,10 @@ title: 'Verify Contracts'
description: 'Comprehensive guide on how to verify your EVM smart contracts on Sei'
keywords: ['contract verification', 'sourcify', 'hardhat', 'foundry', 'smart contracts', 'solidity', 'sei']
---
+
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
Verify your deployed contract using flattened source code, JSON input, Sourcify and more. Verifying your deployed contract ensures transparency and trust by making the source code publicly available and verifiable.
## Benefits of Verification
@@ -155,6 +159,17 @@ You can also verify contracts directly through the [Sourcify web interface](http
Remix IDE offers an automated contract verification solution through its Contract Verification plugin, which integrates with both Sourcify and Etherscan verification services.
+Don't have a contract deployed yet? Spin up Remix with a sample `Counter.sol`, deploy it to Sei testnet, then follow the steps below to verify it.
+
+
+
+
+
### Setup and Configuration
1. **Activate the Plugin**: In Remix IDE, navigate to the Plugin Manager and activate the **Contract Verification** plugin.
diff --git a/evm/evm-wizard.mdx b/evm/evm-wizard.mdx
index 3dcccc7..7cc2049 100644
--- a/evm/evm-wizard.mdx
+++ b/evm/evm-wizard.mdx
@@ -4,6 +4,10 @@ sidebarTitle: 'EVM Contract Wizard'
description: 'Learn how to use the OpenZeppelin Contract Wizard to create secure, standard-compliant smart contracts for Sei EVM, with step-by-step guidance and best practices.'
keywords: ['OpenZeppelin wizard', 'smart contract generator', 'ERC standards', 'Sei EVM', 'contract development']
---
+
+import { SandboxEmbed } from '/snippets/sandbox-embed.jsx';
+import { AddSeiButton } from '/snippets/add-sei-button.jsx';
+
The OpenZeppelin Contract Wizard is a powerful interactive tool that simplifies the creation of secure, standard-compliant smart contracts for Sei EVM. It provides a user-friendly interface for generating production-ready contract code based on OpenZeppelin's battle-tested libraries. Explore and create your custom smart contracts using the embedded wizard below.
+
+
+
## Learn More
- [OpenZeppelin Contracts Documentation](https://docs.openzeppelin.com/contracts/)
diff --git a/evm/python-quickstart.mdx b/evm/python-quickstart.mdx
index aabc101..5b0fe66 100644
--- a/evm/python-quickstart.mdx
+++ b/evm/python-quickstart.mdx
@@ -5,6 +5,8 @@ description: 'Connect to Sei from Python using web3.py — read chain data, then
keywords: ['sei evm', 'python', 'web3.py', 'json-rpc', 'quickstart']
---
+import { RunSnippet } from '/snippets/run-snippet.jsx';
+
Sei is fully EVM-compatible, so any standard Ethereum client works — including Python's [web3.py](https://web3py.readthedocs.io). This guide connects to Sei from a Python script, reads chain data with no credentials, then signs and broadcasts a transaction.
## Install
@@ -48,6 +50,22 @@ Nonce: 7
Values are illustrative — your block number, and the queried address's balance and nonce, will differ. The chain ID is always `1329` on mainnet (`1328` on the atlantic-2 testnet).
+### Try it live
+
+`web3.py` issues plain JSON-RPC under the hood — here are the same reads against Sei mainnet, no Python required.
+
+
+
+
+
+
+
## Sending a Transaction
Next step — this requires a funded account. Get testnet SEI from the [faucet](/learn/faucet), then build, **sign locally**, and broadcast with `eth_sendRawTransaction`. Public RPC endpoints don't manage accounts, so you sign the transaction yourself rather than relying on node-managed accounts.
diff --git a/snippets/run-snippet.jsx b/snippets/run-snippet.jsx
new file mode 100644
index 0000000..6d6685f
--- /dev/null
+++ b/snippets/run-snippet.jsx
@@ -0,0 +1,210 @@
+// RunSnippet — a click-to-load "Try it" button for read-only EVM JSON-RPC calls.
+//
+// Sei's public EVM RPC endpoints return `access-control-allow-origin: *`, so a
+// read-only call can be issued straight from the browser with a plain `fetch`
+// POST — no SDK, no proxy. Mintlify's React runtime cannot import npm packages,
+// so this component uses only browser globals (fetch, BigInt).
+//
+// Theming note: Mintlify applies `dark:text-*` utilities (class strategy) but
+// NOT `dark:bg-*` / `dark:border-*` on custom-snippet container