Introduction

AMP - Avalanche Matchmaking Protocol

AMP is a capability-based matchmaking protocol and off-chain verifier network designed to secure high-frequency Web3 game state without sacrificing sub-millisecond latency.

By removing the reliance on centralized trust and spoofable shared tokens, AMP ensures fair play and irrefutable payouts for competitive Avalanche games. The protocol pairs players, verifies deterministic game transcripts off-chain, and commits settled outcomes directly to Avalanche.

Why AMP? Traditional Web2 matchmaking backends lack verifiable settlement for Web3 stakes. Putting every game tick on-chain is too slow and expensive. AMP gives you the best of both worlds: off-chain fast-action with on-chain guarantees.

Legacy Deployment (Fuji Testnet)

Legacy addresses. The addresses below are the legacy v0 Fuji deployment and will be replaced by a fresh deployment before the Developer Beta release. Treat them as placeholders until redeployed. The committed contracts/broadcast/ artifacts reflect a local Anvil run, not these addresses — see contracts/script/Deploy.s.sol to redeploy.

AMP smart contracts were previously deployed on the Avalanche Fuji Testnet. You can point your game clients to these addresses to test on-chain settlement until the redeployment.

ContractAddress
AMPRegistry0x8479491220D8d56F32f1a4A5Cc827cf056a9aC34
AMPSettlement0xecD9C6C1727d610A7C0Aeb3a37A6278049791a24

Integration Highlights

AMP provides native SDKs for all major game engines and languages:

  • C++: High-performance Unreal Engine integration.
  • C#: Native Unity support with full .NET 8 compatibility.
  • Go: Server-to-server matchmaking for high-frequency game backends.
  • Python: Easy scripting for AI agents and match simulations.
  • Rust: The core protocol and verifier implementation.
  • JavaScript / TypeScript: Node.js SDK built on a native Rust core (napi-rs).

All SDKs use Cap'n Proto for zero-copy, sub-millisecond RPC communication.

Project Structure

AMP/
├── amp-server/        # Matchmaker & Verifier implementation (Rust)
├── amp-relayer/       # On-chain settlement bridge (Rust, sled-backed queue)
├── amp-sdk/           # Multi-language SDKs & Cap'n Proto schemas
│   ├── cpp/           # C++ SDK (Unreal) + Unreal plugin
│   ├── csharp/        # C# SDK (Unity/Godot)
│   ├── go/            # Go SDK (server-side)
│   ├── python/        # Python SDK (AI/research)
│   ├── rust/          # Rust SDK
│   ├── js/            # JavaScript / TypeScript SDK (native, napi-rs)
│   └── schemas/       # Cap'n Proto schema definitions
├── amp-loadtest/      # Load testing tool
├── contracts/         # Solidity contracts (Forge)
│   ├── src/           # AMPRegistry, AMPSettlement, AMPTypes
│   └── test/          # Forge tests
├── docs/              # Documentation (architecture, SDK guides, contracts)
└── scripts/           # start-localnet.sh and utility scripts

Navigate through the sidebar to learn more about how AMP works and how to integrate it into your game:

  • Core Concept & Architecture: Learn about the high-level design, trust model, and match transcripts.
  • Integration & SDK: End-to-end guides for integrating AMP into your game using our native SDKs.
  • Verifier & Infra: Details on running verifiers, testing system setup, and the settlement attestation process.
  • Reference: Smart contract references, Glossary, and FAQ.