Build guide

Building on KXCO Armature

Connect, read, and deploy on Armature — the post-quantum, EVM-compatible, permissioned L1 built for regulated finance. Reading the chain is open to everyone; writing and deploying use a funded account on the permissioned network. Your existing EVM tools work unchanged.

What you’ll need

  • An EVM toolchain. Node.js 18+ with viem or ethers for scripting, and Hardhat or Foundry to compile and deploy contracts. Armature is fully EVM-compatible — your existing tools work unchanged.
  • Nothing, to read. The public RPC at chain.kxco.ai/rpc is open. Reading blocks, state and events requires no account and no key.
  • A funded account, to write. Armature is a permissioned QBFT chain. Sending transactions or deploying contracts needs a funded account — request one from KXCO. There is no public faucet on mainnet.
  • The post-quantum SDK (optional). For post-quantum-verifiable actions, install kxco-post-quantum to sign with ML-DSA-65 (NIST FIPS-204) alongside your EVM wallet.

Step-by-step

  1. 1

    Know the network

    Armature is EVM-compatible with QBFT proof-of-authority consensus, ~2s instant finality, and negligible gas. The native token is ARMR.

    Network     KXCO Armature
    Chain ID    1111111  (0x10F447)
    Currency    ARMR
    RPC (HTTP)  https://chain.kxco.ai/rpc
    REST API    https://chain.kxco.ai/api
    Explorer    https://chain.kxco.ai
  2. 2

    Verify you can reach it

    A single JSON-RPC call confirms connectivity and the chain ID before you write any code.

    curl -s -X POST https://chain.kxco.ai/rpc \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
    # → {"jsonrpc":"2.0","id":1,"result":"0x10f447"}   (0x10f447 = 1111111)
  3. 3

    Connect with viem (or ethers)

    Define the chain once and point any EVM library at the public RPC. Reads work immediately — no account required.

    import { createPublicClient, http, defineChain } from 'viem'
    
    export const armature = defineChain({
      id: 1111111,
      name: 'KXCO Armature',
      nativeCurrency: { name: 'ARMR', symbol: 'ARMR', decimals: 18 },
      rpcUrls: { default: { http: ['https://chain.kxco.ai/rpc'] } },
    })
    
    const client = createPublicClient({ chain: armature, transport: http() })
    console.log(await client.getBlockNumber())
  4. 4

    Get a funded account

    Reads are open to everyone; writes require a funded account on the permissioned chain. Contact KXCO to be provisioned — the licensed operator running the platform handles any KYC/eligibility at the application layer, not at the chain layer.

  5. 5

    Deploy a contract with Hardhat or Foundry

    Add Armature as a network and deploy as you would on any EVM chain. Gas is negligible but not zero — the EIP-1559 base fee is a few wei, so query eth_gasPrice rather than sending gasPrice:0.

    // hardhat.config.js
    module.exports = {
      solidity: '0.8.24',
      networks: {
        armature: {
          url: 'https://chain.kxco.ai/rpc',
          chainId: 1111111,
          accounts: [process.env.PRIVATE_KEY],
        },
      },
    }
    
    // foundry: forge create --rpc-url https://chain.kxco.ai/rpc \
    //   --private-key $PRIVATE_KEY src/HelloWorld.sol:HelloWorld
  6. 6

    Add post-quantum signing (optional)

    EVM transactions are signed with secp256k1. To make an action post-quantum-verifiable, sign an ML-DSA-65 intent off-chain with kxco-post-quantum; the KXCO relay verifies the post-quantum signature and anchors the result on-chain. See the Quantum section for the full cryptographic coverage.

    npm install kxco-post-quantum   # ML-DSA-65 / SLH-DSA / ML-KEM-768

What you get on Armature

A standard EVM developer experience on a permissioned, post-quantum-secured settlement layer.

EVM-compatible
Hardhat, Foundry, viem, ethers and OpenZeppelin all work unchanged. No new language, no new toolchain.
Instant finality, ~2s
QBFT proof-of-authority — blocks are final on inclusion. No reorgs, no probabilistic confirmation to wait out.
Negligible gas
Base fee is a few wei. Query eth_gasPrice; a gasPrice:0 transaction is rejected by the EIP-1559 base fee.
Permissioned by design
Reads are open; writes need a funded account on a vetted, validator-gated network — built for regulated finance, not anonymous DeFi.
Post-quantum option
Layer ML-DSA-65 (FIPS-204) signing over standard EVM transactions via the kxco-post-quantum SDK.
Real explorer + REST API
Blocks, transactions, addresses and validators are all queryable over a lightweight JSON REST API.

Frequently asked

Can anyone deploy a contract on Armature?
Anyone can read the chain freely. Writing transactions or deploying contracts requires a funded account on the permissioned chain — contact KXCO to be provisioned. There is no public mainnet faucet.
What does gas cost?
Gas is negligible — the EIP-1559 base fee is only a few wei, paid in ARMR. Always query eth_gasPrice rather than submitting a zero-gas-price transaction, which the base fee rejects.
Which tools and libraries are supported?
All standard EVM tooling: Hardhat, Foundry, viem, ethers.js, web3.js and OpenZeppelin. Armature is EVM-compatible, so nothing special is required.
How is this post-quantum?
Identities and authorizations can be signed with ML-DSA-65 (NIST FIPS-204) using the kxco-post-quantum SDK, verified off-chain by the KXCO relay and anchored on-chain. See the Quantum section for the complete cryptographic posture.

Go deeper

Ready to build?

Read the full developer reference, or contact KXCO to be provisioned with a funded account on the permissioned chain.