A lightweight cross-chain bridge UI powered by NEAR Intents.
Users simply specify what they want to achieve — e.g., bridge USDT from BSC to NEAR — and solvers compete to execute the most efficient route.
This project is a Next.js + TypeScript frontend that connects directly to the NEAR Intents APIs, including:
It is designed to be chain-agnostic and easily extensible.
POST {INTENTS_SOLVER_RELAY}/quote
{
"defuse_asset_identifier_in": "polygon:USDT",
"defuse_asset_identifier_out": "near:USDC",
"exact_amount_in": "1000000",
"account_id": "receiver.near"
}POST {INTENTS_1CLICK_BASE}/intents
{
"account_id": "receiver.near",
"route": {
"solver": "example-solver",
"path": ["polygon:USDT", "eth:USDC", "near:USDC"]
},
"amount_in": "1000000"
}POST {INTENTS_1CLICK_BASE}/deposit_address
{
"account_id": "receiver.near",
"asset": "bsc:USDT"
}GET {INTENTS_EXPLORER_BASE}/swaps?account_id=receiver.near
| Chain | RPC URL |
|---|---|
| Ethereum | https://eth.merkle.io |
| Polygon | https://polygon-rpc.com |
| Arbitrum | https://arb1.arbitrum.io/rpc |
| BNB Chain | https://56.rpc.thirdweb.com |
| Base | https://mainnet.base.org |
| Avalanche | https://api.avax.network/ext/bc/C/rpc |
| Optimism | https://mainnet.optimism.io |
| Gnosis | https://rpc.gnosischain.com |
| Chain | Explorer Link |
|---|---|
| Polygon | 0x233c5370ccfb3cd7409d9a3fb98ab94de94cb4cd |
| Arbitrum | 0x2cff890f0378a11913b6129b2e97417a2c302680 |
| BNB Chain | 0x233c5370ccfb3cd7409d9a3fb98ab94de94cb4cd |
- Framework: Next.js 14 + React 18 + TypeScript
- Styling: Tailwind CSS + shadcn/ui
- State Management: React Query / SWR
- Deployment: Works seamlessly on Vercel, Netlify, or Cloudflare
| Component | Function |
|---|---|
/components/BridgeForm |
Handles user input and quote fetching |
/components/QuoteList |
Displays solver quotes with time estimates |
/components/History |
Tracks recent intents and statuses |
/lib/api.ts |
Contains wrappers for NEAR Intents API requests |
/config/ |
Chain and token metadata |
Create .env.local:
NEXT_PUBLIC_INTENTS_1CLICK_BASE=https://api.near-intents.org/1click
NEXT_PUBLIC_INTENTS_SOLVER_RELAY=https://api.near-intents.org/solver
NEXT_PUBLIC_INTENTS_EXPLORER_BASE=https://api.near-intents.org/explorer
NEXT_PUBLIC_DEFAULT_FROM_CHAIN="polygon"
NEXT_PUBLIC_DEFAULT_TO_CHAIN="near"
NEXT_PUBLIC_STATUS_POLL_MS=4000- User Input: select source chain, token, and target chain.
- Quote Fetching: frontend queries the solver relay for best route.
- Intent Creation: user confirms and creates a 1Click intent.
- Deposit & Status: show deposit address → monitor transaction until completion.
- NEAR Intents Docs → docs.near-intents.org
- 1Click API Overview → link
- Explorer API → link
- Example implementation (community) → GitHub Search: near-intents bridge