Go multichain · Advanced
Chain Signatures & Intents
Facts in this module (contract IDs, method arguments, endpoints, fees and token IDs) were checked against the live contracts, the NEAR docs, the NEAR Intents docs and the source repositories in October 2026. This area moves fast: each lesson links the official page to re-check before you ship.
NEAR’s motto for this stack is that anyone can participate from any chain. For a developer that comes down to three moves: give a NEAR contract its own addresses on Bitcoin, Ethereum and Solana with Chain Signatures; let users sign with the wallet they already have and settle atomically in the NEAR Intents Verifier; and accept value from any chain through the 1Click API without running a bridge or liquidity.
The module starts with a map of who does what, goes deep on Chain Signatures (derivation, signing an EVM transaction, calling the MPC signer from Rust) and on Intents (the ledger model, signed payloads, solver swaps), and ends by building a deposit flow where players on Base or Solana fund a NEAR game contract. Code is near-sdk 5.x Rust for contracts and TypeScript for everything off-chain, with EVM comparisons where they help.
10 lessons~90 min30 quiz questionsFree · no sign-up
What you’ll learn
- Explain what Chain Signatures, the Intents Verifier, solvers, 1Click and bridged
omfttokens each do, and pick the right one - Derive the EVM, Bitcoin and Solana addresses a NEAR account or contract controls, and verify them against
v1.signer - Sign and broadcast an EVM transaction from a NEAR account, avoiding nonce, fee and payload pitfalls
- Call the MPC signer from a Rust contract with the right deposit, gas, callback and path rules
- Build, sign (NEP-413 or ERC-191), simulate and execute intents with versioned nonces and deadlines
- Swap through the solver relay with your own price checks, and diagnose failed intents
- Integrate the 1Click API with deposit addresses, status tracking, refunds and app fees
- Credit a NEAR contract from deposits on any chain with attribution, idempotency and a security checklist
Lessons
2. Chain Signatures
- How Chain Signatures workInside NEAR Chain Signatures: the v1.signer MPC contract, key derivation per account and path, secp256k1 and ed25519 domains, yield/resume, deposit and gas.
- Deriving Ethereum, Bitcoin and Solana addressesDerive the EVM, Bitcoin and Solana addresses a NEAR account controls through Chain Signatures with chainsig.js, then cross-check them against v1.signer.
- Signing and sending an EVM transactionSend an EVM transaction from a NEAR account with Chain Signatures: build it with viem, sign through v1.signer, broadcast it, and avoid nonce and gas traps.
- Calling the signer from your own contractRequest Chain Signatures from a NEAR smart contract in Rust: the sign cross-contract call, 1 yoctoNEAR and gas, the callback, and who may sign for which path.
3. NEAR Intents
- NEAR Intents: the modelHow NEAR Intents works: the intents.near Verifier ledger, accounts and keys, nep141: token IDs, deposits, signed intents, solvers and cross-chain withdrawals.
- Signing and executing intentsBuild, sign and submit NEAR Intents: the signed payload, NEP-413 and ERC-191 envelopes, versioned nonces and deadlines, simulate_intents, then execute_intents.
- Swaps through the solver networkSwap through NEAR Intents solvers: request quotes from the solver relay, sign a matching token_diff, publish_intent, poll get_status, and handle failures.
4. Build
- 1Click API for appsIntegrate the NEAR Intents 1Click Swap API: tokens, dry and live quotes, deposit addresses, status polling, refunds, app fees, and when to use raw intents.
- Pattern: accept deposits from any chainCredit players in a NEAR contract when they pay from Base or Solana: one 1Click quote per deposit, ft_on_transfer attribution, idempotency, security checklist.