Skip to content
nearPublic

About

The threshold signature network behind Chain Signatures. https://mpc.nearone.org/

Resources

Code of conduct

Contributing

Security policy

Stars

46 stars

Watchers

3 watching

Forks

Latest commit

 

History

2,432 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEAR MPC

The threshold signature network behind Chain Signatures — signatures produced jointly by t-of-n nodes running in TEEs, with no single party ever holding the complete key.

flowchart LR
    User["<b>User</b><br/><i>typically another<br/>smart contract</i>"]
    Contract["<b>Signer contract</b><br/><i>queues sign requests,<br/>manages the signer set</i>"]
    Nodes["<b>MPC nodes</b> (t-of-n)<br/><i>hold keyshares,<br/>run the signing protocols</i>"]

    User -- "(1) requests a signature" ---> Contract
    Contract -- "(4) returns the signature" ---> User
    Contract ~~~ Nodes
    Nodes -- "(2) observe pending requests" ---> Contract
    Nodes -- "(3) respond with the signature" ---> Contract
Loading

What it does

  • Signing — signs arbitrary payloads under keys derived per caller and derivation path, so a single NEAR account can control any number of keys without any of them ever existing in full. Supports ECDSA (Secp256k1) and EdDSA (Ed25519).
  • Confidential Key Derivation — derives application-specific keys without revealing the master secret (BLS12-381).
  • Read RPC — nodes independently verify transactions on foreign chains (Ethereum, Solana, Aptos, …) and threshold-sign the observed values, letting NEAR contracts react to external chain events without a trusted relayer. Known under the working name foreign chain transaction verification in the code.

How it works

A signature request is a call to the signer contract (v1.signer on mainnet); the nodes pick it up, sign jointly over P2P, and respond on chain. Nodes run inside trusted execution environments (TEEs) and attest what they run on chain; see the TEE design doc.

Where to go next

Repository layout

All crates live in a Cargo workspace under crates/. The ones you are most likely to look for:

Crate Purpose
mpc-node The binary run by MPC participants: NEAR indexer, P2P networking, and the threshold protocols themselves
mpc-contract The smart contract on NEAR: accepts signature requests, manages the participant set and protocol state, governs upgrades through participant voting
near-mpc-contract-interface Wire formats accepted by the contract, plus a client feature for constructing typed contract calls
near-mpc-sdk Logic shared between the MPC contract and its callers
threshold-signatures The threshold cryptography itself

Releases

The node and contract ship together as semantically versioned releases; see RELEASES.md for the process and compatibility guarantees. Docker images build reproducibly.

Get in touch

Questions, feedback, or building something on top? Join the NEAR Dev Telegram.

About

The threshold signature network behind Chain Signatures. https://mpc.nearone.org/

Resources

Code of conduct

Contributing

Security policy

Stars

46 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages