Guides
Step-by-step walkthroughs for common cross-chain patterns using ArbiLink.
Available Guides
🎨 Cross-Chain NFT Minting
Trigger NFT mints on Ethereum from Arbitrum contracts and frontends
💰 Token Transfers
Send ERC-20 tokens across chains without bridge complexity
🗳️ DAO Voting
Let Arbitrum users vote in governance systems on any chain
⚙️ Advanced Patterns
Batch messages, error handling, retry logic, and production tips
Common Pattern
All guides follow the same structure:
- Deploy receiver — Deploy your contract on the destination chain
- Authorize ArbiLink — Restrict calls to
ArbiLinkReceiveronly - Encode call — Use
viem'sencodeFunctionData - Send — Call
arbiLink.sendMessage() - Track — Use
watchMessage()for real-time status
typescript
// Universal pattern
const data = encodeFunctionData({ abi, functionName, args });
const id = await arbiLink.sendMessage({ chainId, target, data });
arbiLink.watchMessage(id, (msg) => console.log(msg.status));