A complete starter kit showing how to build a marketplace with Facinet gasless API and x402 USDC payments. Clone, customize, ship.
Users interact with smart contracts without paying gas. Facinet facilitators cover the cost via API key.
Buyers pay in USDC stablecoins. No volatile tokens, no bridge fees. HTTP 402 payment standard.
Works across Avalanche, Ethereum, Base, Polygon, Arbitrum, OP, and Monad testnets.
Execute smart contract calls — your users pay zero gas
import { useSignMessage } from 'wagmi'
// 1. User signs a message (FREE — wallet popup)
const signature = await signMessageAsync({
message: 'Authorize gasless action...',
})
// 2. Send to Facinet — facilitator pays gas
const res = await fetch('/api/gasless', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
network: 'avalanche-fuji',
contractAddress: '0xYourContract',
functionName: 'yourFunction',
abi: contractABI,
functionArgs: [arg1, arg2],
meta: { signature, userAddress },
}),
})
const { txHash } = await res.json()
// Done! User signed, facilitator paid gas.sign → facilitator pays gas → done
You'll sign this message, then a facilitator writes it on-chain (paying gas for you)
connect wallet to try the demo
Buy digital products with USDC — x402 payment protocol
Production-ready Next.js landing page with auth, billing, and dashboard.
1000 calls to a fine-tuned NLP model for text sentiment analysis.
50K labeled wallet addresses with DeFi activity classification.
ML model weights for predicting floor prices of top collections.
React components for portfolio tracking, swap UI, and yield display.
Automated audit reports for Solidity contracts. Per-scan pricing.
// POST /api/gasless (server-side proxy)
const res = await fetch('/api/gasless', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
network: 'avalanche-fuji',
contractAddress: '0x...',
functionName: 'mint',
abi: [...],
functionArgs: [to, tokenId],
}),
})
const { txHash } = await res.json()// User signs a USDC transfer via wagmi
import { useWriteContract } from 'wagmi'
import { ERC20_ABI, formatUsdc } from '@/lib/facinet'
const { writeContractAsync } = useWriteContract()
const txHash = await writeContractAsync({
address: USDC_ADDRESS,
abi: ERC20_ABI,
functionName: 'transfer',
args: [recipient, formatUsdc(10)], // 10 USDC
})