跳至主要內容
返回範例應用程式

x402 Explorer

A sample app demonstrating Quicknode's x402 protocol for pay-per-request blockchain API access. Connect your wallet, authenticate with SIWE, and call RPC/REST methods across multiple chains with EVM payment signatures.

前端框架/函式庫:
React
語言:
TypeScript
建置工具/開發伺服器:
Next.js
範例應用程式預覽

概覽

This sample app demonstrates Quicknode's x402 protocol for pay-per-request blockchain API access. The x402 protocol enables seamless micropayments for API calls — each request is paid for with an EVM signature, removing the need for traditional API keys or subscription plans.

Connect your wallet, authenticate with Sign-In with Ethereum (SIWE), and request testnet USDC from the faucet. When you execute blockchain methods, if you don't have enough credits, the app will automatically purchase test credits using your testnet USDC. Execute RPC/REST methods across multiple networks including Ethereum, Base Sepolia, Arbitrum, Polygon, and Aptos.

建築

Wallet ──► SIWE Auth ──► JWT Token


x402 Fetch Wrapper (JWT + EVM payment signature)


Quicknode x402 API ──► Blockchain RPC / REST

Each API request is wrapped by @x402/fetch, which automatically signs a payment authorization using your connected wallet. The x402 backend verifies the signature, deducts credits, and proxies the request to the target blockchain network.

特色


  • Wallet Connection via ConnectKit (MetaMask, Coinbase Smart Wallet, etc.)
  • SIWE Authentication to receive a session JWT
  • Testnet USDC Faucet on Base Sepolia — credits are automatically purchased with testnet USDC when needed
  • Multi-Chain RPC/REST Execution across Ethereum, Base Sepolia, Arbitrum, Polygon, and Aptos
  • Payment Metadata Inspection returned with each response
  • JSON-RPC, REST, gRPC-Web, and WebSocket method support

Supported Methods

As all JSON-RPC, REST, gRPC-Web, and WebSocket methods are supported, you can call any method available on the target network. For demonstration, the app includes buttons for popular methods:

方法Protocol網路
eth_blockNumberJSON-RPCBase Sepolia, Arbitrum, Polygon
eth_gasPriceJSON-RPC基礎塞波利亞
eth_chainIdJSON-RPC以太坊
Ledger InfoREST阿普托斯
Block by HeightREST阿普托斯

先決條件


  • Node.js v18+
  • pnpm v8+
  • A browser wallet (e.g., MetaMask) with Base Sepolia testnet configured

專案架構

src/
├── app/ # Next.js App Router (pages & layouts)
├── components/
│ ├── providers.tsx # Wagmi + React Query + ConnectKit providers
│ └── wallet-connection-shell.tsx
├── hooks/
│ ├── use-x402-auth.ts # SIWE authentication state
│ ├── use-credits.ts # Credit balance fetching
│ └── use-x402-fetch.ts # Authenticated fetch wrapper
└── lib/
├── constants.ts # x402 URLs, chain IDs, contract addresses
├── methods.ts # Available RPC/REST method definitions
├── types.ts # TypeScript types
└── x402.ts # Core x402 logic (auth, credits, execution)

環境變數

VariableDefault說明
NEXT_PUBLIC_X402_BASE_URLhttps://x402.quicknode.com/x402 API base URL

建立一個 .env.local file to override, but the default points to the public x402 endpoint which you can use for testing without any setup.

NEXT_PUBLIC_X402_BASE_URL=https://x402.quicknode.com/

開始使用

1. Clone the repository

git clone https://github.com/quiknode-labs/qn-guide-examples.git
cd qn-guide-examples/sample-dapps/x402-quicknode

2. Install dependencies

pnpm install

3. Start the development server

pnpm dev

Open http://localhost:3000 in your browser. Connect your wallet, authenticate with SIWE, request testnet USDC from the faucet, and start making pay-per-request API calls — credits are automatically purchased with your testnet USDC when needed.


預覽

預覽

貢獻與回饋
我們非常樂意聽取您的意見,並歡迎您為這個範例應用程式提供任何貢獻!
若要回報問題或提供意見回饋,請在 qn-guide-examples 儲存庫。
若要貢獻,請依照以下步驟操作:
  1. 分叉此儲存庫
  2. 建立功能分支:
    git checkout -b feature/amazing-feature
  3. 將您的變更提交:
    git commit -m "新增超棒的功能"
  4. 推送您的分支:
    git push origin feature/amazing-feature
  5. 開啟一個 Pull Request。