AnjomanBeta
6 min readUpdated October 27, 2026

Addresses & Parameters

Testnet: Base Sepolia (Chain ID 84532)

These are the live contract addresses on Base Sepolia as verified on-chain.

ContractAddress
Diamond (Port)0x5a2324aA18613FAD4e44bDF0d6c73Ec1f6D87ff8
MACHINA Token0x7b9Bd0e5f9a4D0A01db18823De1D8442C84993b7
USDC (Circle)0x036CbD53842c5426634e7929541eC2318f3dCF7e
Treasury0xffe89e1f0a77C600Ad938b57180E5be3e3119f40
x402 payment receiver (EVM)0x5a2324aA18613FAD4e44bDF0d6c73Ec1f6D87ff8 — the Diamond itself
x402 payment receiver (Solana)G53EbeTZSNsAn7bj6iMFUQnq3zpDdEbHhKkPRywo8bix

The V2 contracts are a fresh deployment. SubnetFacet was removed and there is no in-place upgrade for jobs, so V2 is deployed to new addresses and existing miners are copied across by an admin import. If a call to the Diamond below reverts with an unknown selector, you are looking at the old deployment.

The Diamond is where x402 payments land. You don't need to hardcode it: every 402 response carries the address to pay in accepts[].payTo, and that is the value your client should use.

Every address above is readable from the Diamond itself, which is the source of truth if this table ever drifts:

bash
cast call DIAMOND "usdcToken()(address)"    --rpc-urlRPC   # escrow, jobs and settlement token
cast call DIAMOND "machinaToken()(address)" --rpc-urlRPC   # what miners are actually paid in
cast call DIAMOND "getTreasury()(address)"  --rpc-urlRPC

Network Configuration

ParameterValue
ChainBase Sepolia
Chain ID84532
Canonical mainnetBase (Ethereum L2)
RPC (Alchemy)https://base-sepolia.g.alchemy.com/v2/<YOUR_KEY>
WSS (Alchemy)wss://base-sepolia.g.alchemy.com/v2/<YOUR_KEY>

Node Endpoints (Live Testnet Node)

ServiceURL
HTTP APIhttps://devnode.telegraphprotocol.com
WebSocketwss://devnode.telegraphprotocol.com/engine/ws
x402 Facilitatorhttps://facilitator.payai.network

Engine and Daemon are the same node, reached via /engine and /daemon path prefixes on the HTTP API base above (e.g. https://devnode.telegraphprotocol.com/engine/v1/ask) — not separate services.

Active Miners (Testnet)

The live miner set changes as operators register and deregister on-chain, so there is no useful static list here. Read the current catalogue — with each miner's ID, endpoints, schemas, declared intents and floor price:

bash
curl https://devnode.telegraphprotocol.com/api/miners

A few long-standing ones, as a sample of what the network serves:

MinerIntents
LiteLLMCHAT_COMPLETION, LANGUAGE_GENERATION, TASK_COMPLETION, AGENT_TASK, WEB_SEARCH
Telegraph ChatbotCHAT_COMPLETION, LANGUAGE_GENERATION, TASK_COMPLETION, AGENT_TASK, WEB_SEARCH, TELEGRAPH_KNOWLEDGE
Zeus (Bittensor SN18)WEATHER_CHECK, WEATHER_FORECAST, STORM_ALERT
BitMind (Bittensor SN34)DEEPFAKE_DETECTION, IMAGE_VERIFICATION, VIDEO_VERIFICATION, MEDIA_AUTHENTICITY_CHECK

Genesis Protocol Parameters

These parameters define the protocol's behaviour at launch. Governance-adjustable parameters can be changed by a 43/64 Validator majority after the active validator set reaches 43.

Tokenomics

ParameterValue
Maximum MACHINA supply21,000,000
Genesis daily emission7,200 MACHINA
Halving interval4 years (1,461 epochs)
Validator emission share60%
Script Author emission share20%
Treasury emission share20%
Protocol fee2% (200 basis points)
TWAP settlement minimum100 USDC
TWAP drip size0.01 USDC per drip
TWAP drip jitter±30 seconds
Minimum signal floor price0.01 USDC (10,000 in 6-decimal)

Validator & Consensus

ParameterValue
Active Validator cap64
BFT finalization threshold (τ)43 / 64
Reduced consensus threshold (τ_reduced)33 / 64 (activates after 3 failed rounds)
Minimum Validator stake bond100 MACHINA
Unbonding period21 days
Epoch duration24 hours
Commit phase timeout45 seconds
Reveal phase timeout45 seconds
Leader failover timeout90 seconds

Scoring & Penalties

ParameterValue
Consensus deviation threshold (δ_c)0.15 scoring units
Scoring module replacement marginChallenger's win rate ≥ Canonical's + 2 points, on the same hidden sample
Scoring module minimum win rate70% overall; 60% on each family child with ≥ 10 scored pairs
Minimum scored pairs per competition10
Competition sample size200 pairs
Evaluation Pool minimum contributors5 per Intent
Testing Cohort size10% of active Validators
Internal Audit Fee2% of epoch Validator emission pool
Spot check frequencyAbout once per Intent per hour on average (node default; a node operator can change it with SPOT_CHECK_INTERVAL_SECONDS)
Routing revocation triggerConsecutive failed spot checks (no response or an empty answer)
Category A ejection (continuous offline)7 days unbroken
Category A ejection (rolling missed)>50% of rounds in 7 days
Category B fraud slash20% of stake → Treasury (permanent ban)
Category C strike window5 strikes in 30 days → ejection
Front-running penalty7-epoch emission forfeiture + liveness ejection

Miner

ParameterValue
Registration costGas only — no bond or stake
Grace period duration7 days
Grace period routing share5% flat (shared among all grace-period miners)
Miner routing (genesis)70% top / 20% second / 10% third
DeregistrationImmediate — no unbonding period
Scoring module registrationGas only — no bond

Demand Multiplier Tiers

24h Request VolumeMultiplier
0 – 9991.0×
1,000 – 9,9991.5×
10,000 – 99,9992.5×
100,000 – 999,9995.0×
1,000,000+10.0×

For x402 pay-per-call inference, the charged price is min_price_usdc × multiplier, where the multiplier is selected from the rolling 24-hour request volume for that Intent. A miner's effective price rises automatically with demand and returns to the floor when demand subsides.

ERC-8183 jobs are priced differently. A job does not use the miner's min_price_usdc at all — it uses a single protocol-wide jobBasePrice, scaled by the same multiplier table. Read it with cast call $DIAMOND "getJobBasePrice()(uint256)"; on testnet it is currently 1000000 (1 USDC per job).

Gas & Escrow

ParameterValue
Gas escrow multiplier (floor)2.0× estimated gas
Gas escrow multiplier (ceiling)5.0×
Escrow withdrawal timelock4 hours
WebSocket minimum escrow1.00 USDC
Discovery Tier participation minimum95% of assigned rounds

Governance

Governance activates once the active Validator set reaches 43 Validators.

Proposals require a 43/64 majority (one vote per Validator regardless of stake size). Most parameters have a 14-day timelock after passing; structural changes (Validator cap, epoch duration, BFT threshold) have a 30-day timelock.

Emergency veto: 54/64 signatures cancel any proposal immediately. A vetoed proposal cannot be resubmitted for 90 days.

Permanently immutable (cannot be changed by governance):

  • Maximum supply: 21,000,000 MACHINA
  • Halving schedule
  • Emission tier percentages (60/20/20)
  • Zero pre-mine guarantee
Was this helpful?