← All skills
Tencent SkillHub · Developer Tools

NEAR Intents 1click Api

Universal cross-chain swap & bridge skill for OpenClaw using the NEAR Intents 1Click SDK. Supports 14+ blockchains including NEAR, Base, Ethereum, Solana, an...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Universal cross-chain swap & bridge skill for OpenClaw using the NEAR Intents 1Click SDK. Supports 14+ blockchains including NEAR, Base, Ethereum, Solana, an...

⬇ 0 downloads ★ 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
QUICKSTART.md, AI-AGENT-GUIDE.md, TOKENS.md, CHANGELOG.md, SKILL.md, package-lock.json

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 26 sections Open source page

📋 TL;DR

What it does: Universal cross-chain swap & bridge tool powered by the 1Click API and the @defuse-protocol/one-click-sdk-typescript SDK. Supported chains: NEAR, Base, Ethereum, Arbitrum, Solana, BSC, Gnosis, Starknet, Bitcoin, Dogecoin, Zcash, Litecoin. How it works: Get a quote from the 1Click API → receive a deposit address Send tokens to the deposit address on the origin chain 1Click handles the swap/bridge automatically Tokens arrive at the recipient address on the destination chain Key facts: Minimum ~$0.10 USD per swap NEAR account only required when the origin asset is on NEAR No NEAR account needed for cross-chain swaps from other chains (e.g., Arb USDC → Sol USDC) JWT authentication optional but avoids 0.2% fee → register at partners.near-intents.org

Core Concept

All swaps go through the 1Click API (https://1click.chaindefuser.com): User Wallet ──► [Deposit to 1Click address] ──► Market Makers ──► Recipient on Destination Chain There is no need to interact with intents.near directly — the 1Click API abstracts everything.

executeIntent() API

The single entry point exported by index.ts: import { executeIntent } from './index'; const result = await executeIntent({ assetIn: 'NEAR', // Origin token (see Asset Naming below) assetOut: 'base:USDC', // Destination token amount: '1.0', // Human-readable amount recipient: '0x...', // Destination address (optional if same-chain NEAR) mode: 'auto', // 'auto' (default) or 'manual' swapType: 'EXACT_INPUT', // 'EXACT_INPUT' (default) or 'EXACT_OUTPUT' });

Parameters

ParameterTypeRequiredDescriptionassetInstring✅Origin asset symbol (e.g., 'NEAR', 'base:USDC', 'arb:ARB')assetOutstring✅Destination asset symbolamountstring✅Human-readable amount (e.g., '1.0', '0.5')recipientstring❌Destination address. Required for cross-chain. Defaults to NEAR accountrefundAddressstring⚠️REQUIRED for non-NEAR origins. Address on origin chain for refunds if swap fails. CRITICAL for fund safety!modestring❌'auto' sends deposit automatically from NEAR account. 'manual' returns quote + deposit address for user to send manuallyswapTypestring❌'EXACT_INPUT' (amount = input), 'EXACT_OUTPUT' (amount = desired output)

⚠️ CRITICAL: Refund Address Safety

When assetIn is on a non-NEAR chain (e.g., 'base:USDC', 'arb:ARB', 'btc:BTC'): refundAddress is REQUIRED — the function will throw an error if missing ALWAYS ask the user for their wallet address on the origin chain NEVER assume or guess — using the wrong address = permanent fund loss Explain to the user: "If the swap fails, your tokens will be refunded to this address" Example: // ❌ WRONG - Missing refundAddress for non-NEAR origin await executeIntent({ assetIn: 'base:USDC', // Base origin assetOut: 'NEAR', amount: '0.5', recipient: 'user.near', mode: 'manual' }); // → Error: Cross-chain swap from base:USDC requires refundAddress parameter // ✅ CORRECT - User's Base wallet address provided await executeIntent({ assetIn: 'base:USDC', assetOut: 'NEAR', amount: '0.5', recipient: 'user.near', refundAddress: '0x123...', // User's Base address mode: 'manual' }); Why this matters: Swaps can fail due to market conditions, liquidity issues, or timing Failed swaps trigger automatic refunds to refundAddress on the origin chain If refundAddress is wrong or belongs to someone else, funds are permanently lost

Returns

Auto mode: "Swap Successful! 1.0 NEAR → 0.97 USDC\nTransaction: https://nearblocks.io/txns/...\nExplorer: https://explorer.near-intents.org/transactions/..." Manual mode: Formatted instructions with deposit address, amounts, tracking URL, and deadline

Asset Naming

Use chain:SYMBOL format. Omit chain prefix for NEAR-native tokens. ChainPrefixExamplesNEAR(none)NEAR, USDC, USDT, wNEARBasebase:base:USDCEthereumeth:eth:ETH, eth:USDCArbitrumarb:arb:USDC, arb:ARBSolanasol:sol:SOL, sol:USDCBSCbsc:bsc:USDCBitcoinbtc:btc:BTC (native only)Dogecoindoge:doge:DOGE (native only)Zcashzec:zec:ZEC (native only)Litecoinltc:ltc:LTC (native only) Case-insensitive: near, NEAR, Near all work UTXO chains (BTC, DOGE, ZEC, LTC): native tokens only — no wrapped/ERC-20 equivalents

Auto Mode (default)

Automatically sends the deposit from the configured NEAR account. Use when: Origin asset is on NEAR and agent has NEAR credentials in .env. await executeIntent({ assetIn: 'NEAR', assetOut: 'base:USDC', amount: '1.0', recipient: '0xYourBaseAddress', });

Manual Mode

Returns a quote with deposit address — the user (or agent) sends tokens separately. Use when: Origin is on a non-NEAR chain, or you want to show the user a quote first. const quote = await executeIntent({ assetIn: 'arb:USDC', assetOut: 'sol:USDC', amount: '5.0', recipient: 'YourSolanaAddress', mode: 'manual', }); // Returns deposit address + instructions

EXACT_OUTPUT

Specify the desired output amount; the 1Click API tells you how much to send. const quote = await executeIntent({ assetIn: 'USDT', assetOut: 'base:USDC', amount: '10.0', // Want exactly 10 USDC out recipient: '0x...', mode: 'manual', swapType: 'EXACT_OUTPUT', });

1. Swap NEAR → USDC on Base (Auto)

await executeIntent({ assetIn: 'NEAR', assetOut: 'base:USDC', amount: '1.0', recipient: '0xYourBaseAddress', });

2. Bridge USDC from Arbitrum → Solana (Manual)

const quote = await executeIntent({ assetIn: 'arb:USDC', assetOut: 'sol:USDC', amount: '5.0', recipient: 'YourSolanaAddress', refundAddress: '0xYourArbitrumAddress', // REQUIRED for refunds mode: 'manual', }); // User sends 5 USDC to the deposit address on Arbitrum

3. Swap NEAR → USDC (same chain)

await executeIntent({ assetIn: 'NEAR', assetOut: 'USDC', amount: '2.0', });

4. Get a quote: How much NEAR for 10 USDC on Arbitrum?

const quote = await executeIntent({ assetIn: 'NEAR', assetOut: 'arb:USDC', amount: '10.0', recipient: '0xYourArbAddress', mode: 'manual', swapType: 'EXACT_OUTPUT', });

5. Send BTC to NEAR address

const quote = await executeIntent({ assetIn: 'btc:BTC', assetOut: 'NEAR', amount: '0.01', recipient: 'yourname.near', refundAddress: 'bc1q...', // REQUIRED - Your Bitcoin address mode: 'manual', }); // User sends 0.01 BTC to the deposit address on Bitcoin

.env file (only needed for auto mode with NEAR origin):

NEAR_ACCOUNT_ID=your-account.near NEAR_PRIVATE_KEY=ed25519:your_private_key_here NEAR_RPC_URL=https://rpc.mainnet.fastnear.com NEAR_NETWORK_ID=mainnet ONE_CLICK_JWT=optional_jwt_token ONE_CLICK_JWT: Register at partners.near-intents.org to avoid the 0.2% fee. Skip .env entirely if only using manual mode for non-NEAR-origin swaps. ⚠️ Never commit .env to version control!

Under the Hood — 1Click SDK Flow

executeIntent() │ ├─ 1. resolveToken(assetIn) → { symbol, decimals, assetId } ├─ 2. resolveToken(assetOut) → { symbol, decimals, assetId } ├─ 3. toSmallestUnit(amount, decimals) │ ├─ 4. OneClickService.getQuote({ │ originAsset, destinationAsset, amount, │ refundTo, recipient, deadline, ... │ }) │ → Returns { depositAddress, amountIn, amountOut } │ ├─ [manual mode] → return quote instructions │ ├─ 5. account.transfer() → send deposit to depositAddress ├─ 6. OneClickService.submitDepositTx() → (optional, speeds up) └─ 7. OneClickService.getExecutionStatus() → poll until SUCCESS

Swap Statuses

StatusMeaningPENDING_DEPOSITWaiting for depositPROCESSINGDeposit detected, market makers executingSUCCESSTokens delivered to recipientINCOMPLETE_DEPOSITDeposit below required amountREFUNDEDSwap failed, tokens returned to refund addressFAILEDSwap failed due to error

Token Map (built-in)

The code includes a static TOKEN_MAP for common tokens: KeyAsset ID (NEP-141)DecimalsNEARnep141:wrap.near24USDCnep141:17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a16USDTnep141:usdt.tether-token.near6base:USDCnep141:base-0x833589fcd6edb6e08f4c7c32d4f71b54bda02913.omft.near6arb:USDCnep141:arb-0xaf88d065e77c8cc2239327c5edb3a432268e5831.omft.near6arb:ARBnep141:arb-0x912ce59144191c1204e64559fe8253a0e49e6548.omft.near18eth:ETHnep141:eth.omft.near18eth:USDCnep141:eth-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.omft.near6sol:SOLnep141:sol.omft.near9sol:USDCnep141:sol-5ce3bf3a31af18be40ba30f721101b4341690186.omft.near6 To add more tokens: use OneClickService.getTokens() or check TOKENS.md.

Decimals Quick Reference

TokenDecimals"1.0" → smallest unitNEAR241000000000000000000000000USDC61000000USDT61000000ETH181000000000000000000SOL91000000000BTC8100000000 Decimal conversion is handled automatically by index.ts using decimal.js.

Tracking & Explorer

NEAR transactions: https://nearblocks.io/txns/<txHash> 1Click swap status: https://explorer.near-intents.org/transactions/<depositAddress>

Troubleshooting

ErrorSolutionToken not found: XCheck symbol and chain prefix. See TOKEN_MAP or TOKENS.mdNo deposit address in quote responseSolver couldn't match the pair/amount. Try a different amount or pairNEAR_ACCOUNT_ID and NEAR_PRIVATE_KEY must be setConfigure .env or use mode: 'manual'Swap failed with status: REFUNDEDTokens returned to refund address. Retry with different amountStatus polling timed outCheck explorer URL manually. Swap may still complete401 Authentication errorJWT is invalid or expired. Register at partners.near-intents.org

Dependencies

{ "@defuse-protocol/one-click-sdk-typescript": "0.1.1", "@near-js/accounts": "^2.2.4", "@near-js/crypto": "^2.2.4", "@near-js/providers": "^2.2.4", "@near-js/signers": "^2.2.4", "@near-js/tokens": "^2.2.4", "decimal.js": "^10.4.3", "dotenv": "^16.3.1" }

Files Overview

FilePurposeindex.tsMain entry — exports executeIntent()lib-1click/Step-by-step 1Click SDK examples (get tokens, get quote, send deposit, etc.)SKILL.mdThis file — primary AI agent referenceAI-AGENT-GUIDE.mdDetailed agent workflow guideTOKENS.mdFull token reference with decimals and asset IDsmanifest.jsonSkill manifest for OpenClawREADME.mdProject documentationUSAGE_GUIDE.mdUsage patterns and troubleshooting

Version

v2.0.0 — Powered by 1Click SDK and NEAR Intents

License

MIT

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
5 Docs1 Config
  • SKILL.md Primary doc
  • AI-AGENT-GUIDE.md Docs
  • CHANGELOG.md Docs
  • QUICKSTART.md Docs
  • TOKENS.md Docs
  • package-lock.json Config