Skip to content
Retr0 Academy
Web3 Fundamentals

Web3 Fundamentals · 2 min read

Intents and Chain Signatures

How one NEAR account can act on Bitcoin, Ethereum, and Solana with Chain Signatures, and what NEAR Intents are for.

NEAR's big idea is chain abstraction: users should not have to care which chain they are on. Two building blocks make that real.

Intents: say what you want, let solvers compete.
Intents: say what you want, let solvers compete.
Chain Signatures: a NEAR account signs for other chains.
Chain Signatures: a NEAR account signs for other chains.

Chain Signatures

A NEAR account (or contract) can sign transactions for other chains. You ask the MPC signer contract (v1.signer-prod.testnet on testnet) to sign a payload with a derivation path. A network of nodes holds the key in shares (multi-party computation) and returns a signature. No single node ever has the full key.

  • The same NEAR account derives deterministic addresses on Bitcoin, Ethereum, Solana, and more.
  • A smart contract can own a Bitcoin address, which unlocks cross-chain apps without bridges.

js

// sketch: ask the MPC contract to sign an Ethereum tx hash
await wallet.signAndSendTransaction({
  receiverId: "v1.signer-prod.testnet",
  actions: [actionCreators.functionCall("sign",
    { request: { payload_v2: { Ecdsa: txHashHex }, path: "ethereum-1", domain_id: 0 } },
    250_000_000_000_000n, 1n)],
});

Intents

With NEAR Intents a user says what they want ("swap 10 USDC on Base for NEAR") instead of how. Solvers compete to fill the intent, and the intents.near contract settles it atomically. The user signs one message; the routing across chains is somebody else's problem.

Chain SignaturesIntents
AnswersHow does NEAR act on other chains?How does a user get an outcome without micro-managing?
Who signsMPC network on behalf of your accountYou sign an intent; solvers execute
Good forCross-chain wallets, contract-owned BTCSwaps, payments, any-to-any transfers

Exercise

In one paragraph, explain how Chain Signatures let a NEAR account sign something for Bitcoin or Ethereum without holding a native key on that chain.

Open in Playground

Saved in this browser.