For the complete documentation index, see llms.txt. This page is also available as Markdown.

FAQ

Quick answers to the most common questions about Armchain. If your question isn't here, check the Glossary for terminology or visit the community Discord.

General

What is Armchain?

Armchain is a Layer 1 blockchain combining EVM compatibility with post-quantum cryptography. It uses Lachesis aBFT consensus for instant finality and ML-DSA44 (FIPS 204) for quantum-resistant signing.

How is Armchain different from Ethereum?

Feature
Ethereum
Armchain

Consensus

Proof of Stake (Gasper)

Lachesis aBFT (DAG-based)

Finality

~12 minutes

Instant

Cryptography

ECDSA (secp256k1)

ML-DSA44 (post-quantum)

Transaction Type

0, 1, 2

3 (PQC only)

EVM

Yes

Yes (London)

Is Armchain EVM compatible?

Yes. Standard Solidity and Vyper contracts deploy on Armchain without modification. All EVM opcodes, precompiles, and ABI encoding work identically.

What is the native token?

ARM is used for gas fees, validator staking, and governance.


Post-Quantum Cryptography

Why does Armchain use post-quantum cryptography?

Current blockchains use ECDSA, which can be broken by a sufficiently powerful quantum computer using Shor's algorithm. Armchain uses ML-DSA44 (a NIST-standardized post-quantum algorithm) to ensure that transactions and keys remain secure even in a post-quantum world.

What is ML-DSA44?

ML-DSA44 (Module-Lattice Digital Signature Algorithm, Level 2) is a digital signature scheme standardized by NIST in FIPS 204. It provides ~128-bit security against both classical and quantum computers.

Are quantum computers a real threat today?

Not yet for breaking cryptography. However, the "harvest now, decrypt later" attack is a current concern: adversaries store signed data today for later decryption when quantum computers become available. Armchain provides protection from day one.

Why are transactions larger on Armchain?

ML-DSA44 signatures are inherently larger than ECDSA (3,732 bytes vs 65 bytes). The public key must also be included in every transaction (1,312 bytes) because ML-DSA44 does not support public key recovery. This results in ~3,930-byte simple transfers vs ~110 bytes with ECDSA.

Can I use my Ethereum private key on Armchain?

No. ECDSA private keys are incompatible with Armchain. Generate ML-DSA44 keys using the Armchain Wallet or @armchain-ethersv6/ethers.


Development

Can I use Hardhat with Armchain?

Yes. Install @armchain-ethersv6/ethers and configure Hardhat with Armchain's RPC URL and chain ID. See Quickstart.

Can I use Foundry with Armchain?

Foundry can be used for compilation and read-only interactions (cast call). Deployment and write transactions require ML-DSA44 signing, which Foundry does not natively support. Use Hardhat or the Ethers SDK instead. See Smart Contracts Overview.

What Solidity version should I use?

Armchain supports Solidity ^0.8.x. Recommended: 0.8.24 or later.

How do I verify contracts on the explorer?

Use the Armchain Explorer's contract verification tool. Submit source code, compiler version, and constructor arguments. See Explorer.

What is the gas limit for blocks?

The maximum block gas is 20,500,000. Minimum gas price is 1 Gwei.


Wallet

How do I create a wallet?

Install the Armchain Wallet browser extension, or create a wallet programmatically:

What derivation path does Armchain use?

All indices are hardened. Coin type is 65536.

How do I back up my wallet?

Write down your 12-word recovery phrase and store it offline in a secure location. This phrase recovers all derived accounts.


Node Operations

How do I run a validator?

Build the opera binary, generate ML-DSA44 validator keys, stake ARM, and register. See Running a Validator.

What ports need to be open?

Port
Protocol
Purpose

5050

TCP/UDP

P2P networking

18545

TCP

HTTP JSON-RPC (optional, for API access)

18546

TCP

WebSocket JSON-RPC (optional)

How do I set up a local development network?

Use fakenet mode:

See Fakenet Guide.


Account Abstraction

Does Armchain support Account Abstraction?

Yes. Armchain implements native Account Abstraction at the protocol level. This is not an application-layer standard like ERC-4337. AA transactions go through a dedicated mempool and gossip layer in the consensus client, and are validated by system contracts deployed at genesis.

What signing schemes can AA accounts use?

AA accounts support multiple validation schemes:

  • MLDSA: ML-DSA44 (post-quantum, same as standard transactions)

  • Passkey (P-256): WebAuthn-compatible biometric devices and hardware keys (Touch ID, Face ID, YubiKey)

  • SLH-DSA: SPHINCS+ hash-based post-quantum (FIPS 205)

  • MPC for ECDSA: Guardian accounts with multi-party key management

  • Custom: Any logic conforming to the system contract interface (written in Yul)

Falcon (lattice-based PQC) is planned but not yet available.

What is the Foundation Paymaster?

The Foundation Paymaster is a protocol-level contract deployed at genesis. It sponsors contract deployments and initial transactions for new users who do not hold ARM, solving the gas bootstrapping problem for onboarding. It operates under a staking-based economic policy that deters DDoS attacks.

Can I use a passkey (biometric) to control an Armchain account?

Yes. The Passkey validation scheme supports WebAuthn / FIDO2 credentials. Users can sign AA transactions using Touch ID, Face ID, fingerprint readers, or hardware security keys. No seed phrase management is required for Passkey accounts. Wallet UI support for this is in active development.

Can third parties run their own paymaster on Armchain?

Yes. Any entity can deploy and operate a paymaster. The paymaster must stake ARM and maintain a deposit covering expected gas costs. Common models include free sponsorship for dApp users, token paymasters, and subscription-based paymasters.

Does Armchain have social login?

Social login (using OAuth providers like Google or Apple as an account recovery mechanism) is not currently available. It would require operating MPC infrastructure on top of the existing Guardian account framework. This is an attractive feature under consideration for a future release.

Do I need to write Yul to use Account Abstraction?

If you are a user of an AA account (Passkey, Guardian, MLDSA wallet), no Yul is required. You interact through a wallet UI or the SDK.

If you are a developer building a custom validation scheme or paymaster that uses AA-specific EVM opcodes, you must write that contract in Yul. The standard Solidity compiler does not recognize the new opcodes introduced for native AA. The Armchain team is evaluating a fork of the Solidity compiler to address this.


Troubleshooting

My transaction is failing with "transaction type not supported"

Ensure you're using type: 3 in all transactions. Armchain only supports Type 3 (PQC) transactions.

My transaction is failing with "invalid signature"

Ensure you're using ML-DSA44 keys (not ECDSA). Generate new keys with ethers.Wallet.createRandom() from @armchain-ethersv6/ethers.

I can't connect to the node

  • Check that the node is running and fully synced

  • Verify the RPC URL and port (default: 18545 for HTTP)

  • Ensure the RPC endpoint is enabled (--http --http.addr 0.0.0.0 --http.port 18545)

  • Check firewall rules

My dApp doesn't detect the Armchain Wallet

  • Ensure the extension is installed and enabled

  • Refresh the page

  • Check that your code listens for window.ethereum

The explorer shows "pending" for my transaction

Armchain has instant finality; transactions confirm in seconds. If a transaction stays pending:

  • Verify the gas price is at least 1 Gwei

  • Check that the nonce is correct

  • Ensure the sender has sufficient ARM balance

Last updated