Skip to content
  • Official updates from the AntiQua core team.

    3 4
    3 Topics
    4 Posts
    BlythexB
    Found a bug? Missing a feature? From today there's a proper place for it. BugHive is live: https://bugs.antiqua-blockchain.com It's our own bug tracker – self-hosted, open to read for everyone, and wired to the same team that writes the code. One space per part of AntiQua Project What belongs there Core NodeCore: consensus, P2P, mempool, mining, wallet logic Windows Desktop the desktop wallet Windows CLI command-line node and wallet Linux node and wallet on Linux Android the Android app Forum this forum and our own plugins Inside each project you'll find Bugs, Features and Backlog – backlog meaning "accepted, but not scheduled yet". So you can see not only what's broken, but also what's planned. How to report something useful You need an account to write, and you sign in with Telegram – no password, no e-mail address. A good report takes two minutes and saves hours: What happened: What I expected: Steps to reproduce: Version / platform: Screenshots help – just make sure they don't show a recovery phrase, a private key or a balance you'd rather keep to yourself. Search first. If your issue already exists, a comment with your details is worth more than a second report. Security bugs: please, not in public If you found something that could cost people money – consensus, signatures, wallet, node – do not post the details publicly, neither here nor in BugHive. Report it through the Security category so we can fix it first In BugHive, reports labelled security are removed from public lists on the server; the direct link and the comments return "not found". Only the team and the reporter can see them. Responsible reports are what the Bug Bounty Fund (3,000,000 AQA) exists for – the details are in the tokenomics post What's public Reading is open to everyone, also without an account: projects, bugs, features, comments. Only writing needs a login. Keep that in mind when you attach logs – blur what shouldn't be public. Staying up to date Changes to BugHive itself are posted in the BugHive Changelog here in Development. Click the bell icon there and choose Watching if you want to follow along. Go and try it: https://bugs.antiqua-blockchain.com – even a small report helps. Every bug that gets found before mainnet is one that never costs anyone a coin. β€” Blythex
  • Post-quantum cryptography, consensus, and protocol internals.

    5 5
    5 Topics
    5 Posts
    BlythexB
    What does it actually take for a block to be accepted? Why do mining rewards sit locked for 100 blocks? And why doesn't AntiQua retarget difficulty every 2,016 blocks like Bitcoin? This post walks through the consensus rules as the node enforces them today. Every number was read out of the NodeCore source in September 2026 – nothing here comes from a whitepaper that might have drifted from the code. TL;DR Proof-of-Work, two stages: a fast hash against the target, plus RandomX keyed to the previous block. Difficulty adjusts every single block (ASERT), not every two weeks. 50 AQA per block, halving every 420,000 blocks. Hard cap 56 million AQA, ever. Mining rewards are locked for 100 blocks – roughly 17 hours on mainnet. A reorg deeper than 30 blocks is refused outright, whatever work it claims to carry. 1 confirmation is enough to spend. 6 is what wallets and exchanges treat as settled. Proof-of-Work, in two stages A valid block has to clear two different hashes, and they do different jobs. Stage one – the fast hash. The block header is hashed with double SHAKE256 to 32 bytes, and that has to come out below the target encoded in the block's nBits. This is the familiar part: lower target, more attempts needed. Stage two – RandomX. The same block must also produce a valid RandomX digest. RandomX is memory-hard: it runs a small randomly generated program through a couple of gigabytes of working memory, which is something general-purpose CPUs do well and purpose-built ASICs do badly. The key for that program is the hash of the previous block, so it changes with every block and nobody can precompute anything. There's an asymmetry built in that matters for anyone running a node: Memory Used for Mining Full dataset (~2 GiB) Producing blocks, fast Verifying Light mode Checking other people's blocks Both arrive at the same digest. That's the whole point: mining is expensive, checking is cheap. A node validating the chain doesn't rebuild a 2 GiB dataset for every block it sees. When your node loads its existing chain from disk it's cheaper still – it replays the stored digest rather than recomputing it. On phones: the Android build compiles without RandomX entirely. It's a light client – it verifies headers and its own transactions, and it cannot mine. That isn't a restriction someone added, it simply doesn't contain the machinery. Every non-genesis block also carries an ML-DSA-87 signature from the miner – the same post-quantum signature scheme used for transactions. Difficulty: ASERT, every block Bitcoin recalculates difficulty every 2,016 blocks, which is roughly two weeks. If hash power drops sharply the day after an adjustment, the chain crawls until the next one. AntiQua uses ASERT instead, and it recalculates for every single block: target = anchor_target Γ— 2^((elapsed βˆ’ ideal_elapsed) / half_life) In words: measure how far ahead or behind schedule the chain is, and adjust exponentially. Blocks coming too fast tighten the target smoothly; blocks coming too slowly loosen it. There is no cliff to fall off and no fortnight to wait. Mainnet Testnet Target block time 600 s (10 min) 120 s (2 min) Half-life 6 hours 72 minutes Median-time window 10 blocks 10 blocks The half-life sets how aggressive the correction is: a chain running one half-life behind schedule gets its target doubled. One thing that trips people up when reading the code: there's a legacy field named difficulty_adjustment_interval sitting at 10,000. It is not a Bitcoin-style retarget interval and it has no say in consensus. ASERT is the only thing that sets nBits. Likewise, the "difficulty" number you see in explorers is a display value derived from the target – readable for humans, meaningless to the protocol. Timestamps: you can't lie much Two rules bound a block's timestamp, and they pull in opposite directions: It must be strictly greater than the median of the last 10 blocks' timestamps. That stops a miner dragging time backwards to make difficulty look easier. It must be no more than one hour in the future. That stops the opposite trick. Together they leave a narrow, self-correcting window. A block outside it is rejected at validation, not merely frowned upon. Transactions have a separate, looser rule – up to two hours ahead is accepted into the mempool. Don't confuse the two; they're different checks in different places. The block reward, and where 56 million comes from The first five blocks are special. After that, it's regular mining forever: Height Reward What it is 0 50 AQA Genesis 1 3,000,000 AQA Bug bounty fund 2 4,000,000 AQA Charity fund 3 1,500,000 AQA Development fund 4 1,500,000 AQA Server and infrastructure fund 5 and up 50 AQA Mining, halving from here The four fund blocks are the whole reason the supply chart has a step at the start – 10 million AQA was issued in four blocks, publicly, at known heights, into known addresses. There is no hidden issuance anywhere else, and the node enforces that: if a coinbase ever tried to mint more than the schedule allows, the block is rejected. Halving happens every 420,000 mining blocks, counted from height 5. So the first halving lands at height 420,005, not 420,000 – a small detail that matters if you're writing a supply calculator. The reward halves by integer division until it reaches a floor of 0.1 AQA. The total is capped in code: 56,000,000 AQA = 42 M mining + 10 M funds + 4 M relay lottery That cap isn't decorative. If a block's reward would push total issuance past it, the node sets the reward to zero and the block still has to be valid without it. On top of the mining reward, a block may carry an extra coinbase output of up to 1.5 AQA for the Relay Reward Lottery – paid from its own 4 million budget, not out of the mining share. Confirmations: 1, 6, and 100 Three different numbers, three different jobs: Depth Meaning 1 Enough to spend an output again. The tip block counts as one confirmation. 6 What wallets and exchange integrations treat as settled. 100 Coinbase maturity – how long a mining reward stays locked. The 100-block lock on mining rewards exists because the tip of a chain is the part that can still be replaced. If a miner could spend a reward immediately and the block were then orphaned, those coins would have come from a block that no longer exists. A hundred blocks is far beyond any realistic reorg. At target block times that's about 16.7 hours on mainnet and 3.3 hours on testnet – assuming the chain holds its pace, which is an assumption and not a promise. One more rule people hit in practice: you can't chain a transaction onto another transaction that is still sitting in the mempool. An input needs at least one confirmation. Spend, wait for a block, then spend the change. Reorgs: a hard ceiling, not a preference Most chains accept whatever branch carries the most work, however deep the switch. AntiQua refuses past a point: Depth What happens 20 blocks Warning in the log – possible network partition 30 blocks Refused. The node will not reorganise this deep, whatever work is offered 288 blocks Considered final; undo data gets pruned below this A reorg 30 blocks deep is not a normal event on a healthy network – it's either a serious partition or someone with enough hash power to rewrite half a day. In both cases stopping and alerting is better than silently rewriting history. The node stops. PoS checkpoints: a bolt, not a second consensus Every 100 blocks, the network forms a checkpoint. This is the part most easily misread, so plainly: Proof-of-Work alone decides which blocks are valid. Checkpoints don't mint, don't vote on blocks, and carry no stake weight. They are a bolt against deep reorgs, and what they measure is mining activity: how many blocks each miner produced in the window of the last 100 heights. A checkpoint is confirmed when miners representing more than 51 % of that window agree on it. A second phase requires a minimum number of distinct miners – 3 on mainnet, 2 on testnet – so a single miner can't confirm checkpoints alone during quiet periods. For anyone building from source: the checkpoint system sits behind a compile flag. A build without it logs a loud warning at startup and is not consensus-compatible with release nodes – it's missing the reorg bolt entirely. If you compile your own node, leave the flag on. How a node catches up Sync is header-first: headers come down before bodies, so a node can check the chain of work before downloading anything heavy. Caps keep that from being abused: at most 2,000 headers per response, no more than 4,096 unconfirmed headers pending, and from 100 blocks in, the checkpoint gate has to be satisfied before the sync goes on. Failing that gate is the single most expensive thing a peer can do – see the ban system post. One distinction that shows up in logs: a compact stub is not a full block. A block counts as a complete body only when it actually carries its transactions, merkle root and signature. Stubs get re-requested rather than accepted – and a peer sending one is not penalised for it. Spam protection at the node level Separate from fees, and separate from block PoW: a sender's first 5 pending transactions pass normally. From the sixth, each one has to carry a tiny proof-of-work – 14 leading zero bits on its hash. Unnoticeable once, expensive ten thousand times. This is node policy about what enters a mempool, not a consensus rule about what may go in a block. (More in the fee post) The rules in one place Two-stage PoW – double SHAKE256 against the target, plus RandomX keyed to the previous block ASERT adjusts difficulty every block; 600 s target on mainnet, 120 s on testnet Timestamp above the 10-block median, at most 1 hour ahead 50 AQA per block from height 5, halving every 420,000 (first at 420,005), floor 0.1 AQA 56 M AQA hard cap: 42 M mining, 10 M funds in blocks 1–4, 4 M relay lottery 1 confirmation to spend, 6 for settled, 100 for mining rewards 30 blocks is the hard reorg ceiling; checkpoints every 100 blocks bolt it down Header-first sync; a compact stub is never a full body Questions? Miner wondering about ASERT behaviour after a hash-rate swing? Exchange operator asking why 6 and not 60? Ask below. β€” Blythex
  • NodeCore, Desktop Wallet, Android Wallet β€” code, builds, and bug reports.

    6 10
    6 Topics
    10 Posts
    BlythexB
    Update β€” /linklist in the Telegram group The bot learned one more thing: ask it for the official links and it posts them. Type /linklist in the group, in a topic, or in a private chat with @AntiQua_Blockchain_Bot. Back come the five addresses that are actually ours: AntiQua β€” official links β€’ Forum Β· Website Β· Git Β· BugHive Β· Discord If a link is not on this list, it is not ours. That last line is the whole point. Communities like ours don't usually lose money to clever exploits β€” they lose it to a lookalike domain posted by a friendly stranger. Having one list that anyone can summon in two seconds makes it cheap to check and awkward to fake. Anyone can ask. It isn't an admin command. Someone new turns up, wonders where the repository is, types six characters, done. It won't spam you. The list stays quiet until 50 messages have passed since the last time it appeared β€” counted per topic, so a question in one channel doesn't silence another. Ask too early and your message just gets a instead of a repeat. Delete it and you can ask again. If someone clears the list out of the chat, the counter resets and the next request brings it straight back. Telegram doesn't tell bots when a message is deleted, so ours checks for itself β€” but only when it's about to say no, so it costs nothing the rest of the time. Small feature. It exists because the alternative is someone pasting a fake forum link at 2 a.m. and nobody having a quick way to prove it's fake.
  • Running an AntiQua node and mining AQA with RandomX: setup, hardware, hashrate, sync and troubleshooting.

    2 4
    2 Topics
    4 Posts
    BlythexB
    Running a node and seeing peers disappear? Before you go hunting for a firewall problem: most of what looks like a ban isn't one. This post lists exactly what earns a ban score in the AntiQua network, what only gets dropped, and how to tell the two apart. TL;DR Every peer has a misbehaviour score. At 100 it gets banned. Below 100 is not a ban – the peer stays connected. 24 hours for full nodes, 1 hour for light and inbound peers. Rate limits don't ban. Too many messages? The message is dropped and that's the end of it. Two things ban you on the spot: failing the header checkpoint gate (+150) and parking more than 500 unconfirmed headers on a peer (+100). Behaving well earns credit back, but it never lifts a ban that has already started. The threshold Ban score >= 100 -> banned Ban score < 100 -> nothing happens That second line matters more than it looks. A score of 95 is not "almost banned" in any operational sense – your peer is connected, syncing and relaying exactly as before. Scores accumulate, they don't degrade your connection on the way up. Duration Full node 24 hours Light / SPV / inbound 1 hour Light peers get the short ban on purpose: they sit behind mobile networks where the IP changes anyway, so a long ban would mostly punish whoever inherits the address next. Bans are written to disk, so they survive a restart. There is no manual ban. The node has no admin path that bans an address on the spot – reaching 100 through the scores below is the only way anyone gets banned. No operator, no plugin, no config file. The two that ban you outright Score Reason +150 During initial sync, the header checkpoint gate failed – the PoS anchor is missing or doesn't match +100 More than 500 unconfirmed headers pending from one peer Both are above the threshold on their own, deliberately. The first: a peer that can't produce a valid checkpoint anchor is either running something that isn't this chain, or feeding you a fabricated history. There is no charitable reading of that. The second is about memory. Headers you can't confirm sit in a cache. A peer that keeps stuffing that cache without ever delivering anything that checks out is filling your RAM, whether by malice or by being thoroughly broken. Either way you want it gone. Two layers, two outcomes Penalties come from two different places, and they don't behave the same way: Layer What it sees What it does Socket The raw frame: length, encryption, message identifier Scores and disconnects immediately Dispatch The parsed message: contents, sizes, counts Scores and drops the message So a malformed frame ends the connection then and there, while an oversized inventory list only costs the message. Both add to the same score. Protocol and handshake violations Score Reason Disconnects? +50 Frame length of zero, or larger than the 4 MiB limit yes, at the socket +40 Message wrapper failed verification yes, at the socket +40 Header chain link broken no +35 Announce commitment claims an absurd transaction count no +30 Encryption failed to decrypt yes, at the socket +30 Message identifier doesn't match what the frame claims yes, at the socket +30 Handshake response failed verification no +30 Headers arrive out of order no +30 Far too many blocks in one message no +25 Payload empty after a successful verify socket layer: yes +25 Oversized headers, GetData or peer list no +20 Oversized inventory batch, invalid block inside a blocks message, transaction queue overflow no +15 A second hello after the handshake already finished, inventory flooding no +10 Replayed handshake response, invalid transaction payload, duplicate difficulty update no +5 Handshake seen-set capacity, empty rekey payload no None of these happen by accident on a healthy peer. They're the shapes a malformed or hostile client produces. Sync, proofs and key rotation Score Reason +30 per block Pure GetData substitution – see below +60 Headers you requested went largely unconfirmed within a 10-minute window +25 Light client proof: merkle root doesn't match your header, or the proof is invalid +20 Key rotation request out of sequence +15 Light client proof: amount or recipient doesn't match +15 Key rotation replay (sequence number too low) +10 Announced a block height more than 500,000 above your tip +10 Ping flooding, empty rekey ciphertext +10 Pong nonce mismatch – not for inbound or SPV peers +5 Key rotation rate limit, rekey response with nothing pending, malformed relay announcement The +60 only triggers under real conditions: at least 8 headers sent, and fewer than 20 % of them confirmed inside the window. A handful of misses costs nothing. The +10 for an implausible height catches a specific lie – a peer claiming the chain is half a million blocks further along than it is, hoping you'll chase it. Encrypted messaging and multisig The topic messaging layer – the one carrying encrypted messages and multisig confirmations – has its own penalties. They follow one pattern: rate limits are cheap, forged signatures are not. Score Reason +5 Rate limit on subscribe, publish, fetch or forward +10 Topic name oversized +15 Payload oversized, missing message id, missing publisher key +20 Missing or malformed public key +25 Bad key length, binding mismatch, invalid signature length +30 Bad signature on a publish, a forward or a multisig confirmation A bad signature is the expensive one because there's no innocent explanation. An oversized topic name is a broken client; a message signed with a key that doesn't verify is someone trying something. Substitution vs. honest extras This is the distinction worth understanding, because it separates an attack from an ordinary sync hiccup. When your node sends a GetData request, it remembers which block hashes it asked for. Any block that comes back with a different hash counts as a mismatch. What happens next depends on the whole response, not on the mismatch alone: Attack β€” score +30 per block: the response contained mismatches, and not a single block you asked for, and no compact stubs either. Somebody answered a specific request with entirely different blocks. That's a substitution attempt. Ordinary β€” no score at all: the response contained at least one block you actually requested, plus extras. The extras are simply discarded. This happens constantly and legitimately: tip gossip, a retried announcement, a compact block's parent. Also no score: a compact stub instead of a full body; an empty headers response; a request that came back holding only headers you already had; headers that fall outside the checkpoint horizon. All of these are re-requested or quietly closed. That last group is deliberate, and the reasoning in the code is worth repeating: a node catching up from genesis will legitimately produce batches full of headers you already know. Counting those toward the unconfirmed cache limit would ban honest peers for the crime of being helpful. So they don't count. In one line: the right block plus noise is a normal peer. Only noise, when you asked for something specific, is an attack. What is NOT banned Worth stating explicitly, because these are exactly the situations operators come asking about: Situation What happens Too many messages per second Message dropped. No ban. 60/s normally, 400/s while syncing Handshake queue full Dropped and logged, no penalty An unknown message type from an older peer Warning in the log, no penalty Compact stub instead of a full body Re-requested, no penalty Extra hashes alongside a correct block Extras discarded, no penalty A GetData job with no hash list at all Blocks discarded, no penalty Empty headers response, or one with only headers you had Re-asked, no penalty Headers outside the checkpoint horizon Node waits for a block to connect, no penalty A second hello in the same session Ignored Late pong from a mobile or SPV peer No penalty – late pongs are normal on mobile Reconnect from a phone that changed network No penalty, that's the expected pattern An error while serving GetData Connection closed, no penalty Key rotation when the key material is missing locally Connection closed, no penalty Checkpoint, challenge, attestation, receipt and mempool-status messages Logged or dropped, never scored Any score below 100 Nothing at all If your node is losing peers and none of the scored events above appear in your log, you're looking at the wrong cause. Check your own connectivity, your port forwarding, and whether you're behind a NAT that drops idle connections. Arriving with the next node release One group of penalties is written but not yet in the build the network is running: malformed compact block traffic (a compact block with no header, a prefill entry carrying no transaction, transaction-index lists that are empty or out of range) and light client requests whose block query is neither a height nor a hash. Today those messages are dropped without a score. After the next release build they cost between +10 and +35. Nothing an ordinary node or wallet sends is affected – these are shapes that only a broken or hostile client produces. Watch the Core Changelog for the release. What stays unscored either way: a compact block that needs a follow-up request, a reconstruction that falls back to a normal GetData, a block that simply isn't held locally, and a peer that never answers the capability handshake (it's treated as a full node and life goes on). Earning credit back Credit For βˆ’5 A valid pong βˆ’25 Confirmed headers during initial sync Credit never lifts an active ban. Once a ban is running, good behaviour reduces nothing – the clock has to expire. The credits exist so that a peer which occasionally trips a small penalty doesn't slowly accumulate its way to 100 over days of honest operation. Eclipse protection: slots per subnet An eclipse attack means surrounding your node with peers that all belong to the attacker, so you only see the chain they want you to see. The cheapest way to do that is to bring many addresses from one network block. So the number of peers from a single IPv4 /16 is capped: Full nodes Light clients Inbound per /16 3 16 Outbound per /16 2 2 Light clients get 16 for a practical reason: mobile carriers put huge numbers of customers behind shared address space, so a whole city can share one /16. Three slots would be full before breakfast, and gossip is skipped for light peers anyway, so they can't be used to feed you a false view of the chain the way a full peer could. Slot budgets overall: 150 full peers by default, 32 light, 256 for archive nodes, a hard ceiling of 512 – and at most 75 unauthenticated inbound connections, a number that deliberately does not grow when you scale the others up. Separately, your node watches its own peer diversity: fewer than 5 distinct subnets across at least 8 peers flags a possible eclipse. That's a warning, not a ban of anyone – it tells you to add peers from elsewhere. The second score – and what it actually does Everything above is the P2P layer: protocol violations, score 100, 24 hours, real disconnects. The consensus module keeps a second, much tighter score for chain-level misbehaviour – a double-spend attempt costs 8, a replay 6, the threshold is 10, it decays by a point a minute and entries expire after 30 minutes. What it does not do, today, is disconnect anyone. That score is written into the consensus module's own table and logged. Nothing in the networking code reads it back to drop a peer. So if you're looking for the reason a connection went away, this isn't it – check the P2P scores above. It is useful for a different purpose: those log lines tell you a peer has been sending you double-spends, which is worth knowing even when the node keeps talking to it. If you see them repeatedly from the same address, that's a case for looking at the peer yourself. If you think you've been banned unfairly Look for the actual scored reason in the log. Every penalty above writes one. If the reason is a rate limit, a dropped message or a closed connection without a score: that isn't a ban, keep looking. If it's +150: your node and the peer disagree about history. Check you're on the right network, and that your build has the checkpoint flag compiled in – a build without it is not consensus-compatible with release nodes. (What the checkpoints do) If it's +100: that peer buried you in headers it never backed up. Usually a broken or badly out-of-date node rather than an attacker. Consensus log lines about double-spends are not the reason your peer disappeared. Questions about a specific log line? Post it below – with the surrounding lines, the reason string is what matters. β€” Blythex
  • Stuck? Wallet, account or transaction trouble – ask here and the community or the team will help.

    1 1
    1 Topics
    1 Posts
    BlythexB
    Welcome to Support Something not working? You're in the right place. This category is for wallet, account and transaction problems – and nobody here expects you to be an expert. The community and the team read every topic. To get help fast, please take two minutes and read this first. Rule number one: never share your recovery phrase Never post your recovery phrase (seed phrase) or private keys – not in a topic, not in a chat, not "just to check". Anyone who has them can empty your wallet. The AntiQua team will never ask for them, and will never ask for remote access to your computer. If someone does, it's a scam – please report them to the team. This forum actively protects you: posts containing a recovery phrase or a private key are blocked automatically, and chats show you a warning before anything is sent. How to ask a good question 1. One problem, one topic. Please open a new topic for your question instead of replying to someone else's – it keeps answers clear for both of you. 2. Use a clear title. "Help!!!" "Desktop wallet stuck at 'Synchronizing' after update" 3. Tell us the basics. Copy this into your topic and fill it in: Wallet / app: Desktop / Android / other Version: e.g. 1.2.0 Operating system: e.g. Windows 11, Android 14 What happened: What I expected: Steps to reproduce: Error message: 4. Add a screenshot of the error if you can – often it says more than a long description. Double-check it doesn't show a recovery phrase or private key. 5. Logs help – but check them first. Before pasting a log file, take a quick look for anything private. Wallet addresses and transaction IDs are public and fine to share. Is this the right category? Wallet, account or transaction problem β†’ right here in Support Running a node or mining β†’ Mining & Nodes You found a bug in the code β†’ Development You found a security vulnerability β†’ please do not post details publicly. Send a private message to a team member instead, so we can fix it before anyone can exploit it. Write in your own language You don't have to write in English. Every post has a translate button next to Reply – others can read your question in their language, and you can read the answers in yours. Found the solution? Please post what fixed it before you move on – even if you solved it yourself. The next person with the same problem will thank you. Cheers, Blythex
  • Tokenomics, supply, distribution, and the public ICO.

    1 1
    1 Topics
    1 Posts
    BlythexB
    How many AQA will ever exist? Who gets them – and how can you check that we keep our word? This post lays out the AntiQua tokenomics in plain language: the total supply, how new coins are created, how the Relay Reward Lottery pays node operators, what the four ecosystem funds are for, and the rules that bind them. Everything here is enforced by the node software or verifiable on-chain – you shouldn't have to trust us, you should be able to check. The big picture Total supply: 56,000,000 AQA – a hard cap, enforced by consensus. The node rejects anything that would exceed it. Allocation Amount Share Mining rewards 42,000,000 AQA 75.00 % Relay Reward Lottery 4,000,000 AQA 7.14 % Charity Fund 4,000,000 AQA 7.14 % Bug Bounty Fund 3,000,000 AQA 5.36 % Dev Fund 1,500,000 AQA 2.68 % Server & Infrastructure Fund 1,500,000 AQA 2.68 % More than 82 % of all coins go to the people who run the network – 75 % to miners, another 7 % to relay nodes. There is no allocation for VCs. The remaining ~18 % keeps the project secure, running and useful to the world. Mining: 42 million AQA, earned block by block Starting reward: 50 AQA per block Halving: every 420,000 blocks – the first one at block height 420,005 Target block time on mainnet: 10 minutes β†’ a halving roughly every 8 years, twice as long as Bitcoin Reward floor: the reward never drops below 0.1 AQA – miners always get paid, until the hard cap is reached Era Reward per block Coins in this era Share of mining supply 1 50 AQA ~21,000,000 50 % 2 25 AQA ~10,500,000 25 % 3 12.5 AQA ~5,250,000 12.5 % 4 6.25 AQA ~2,625,000 6.25 % … halving continues down to 0.1 AQA … … On testnet, blocks come every 2 minutes, so everything there runs five times faster – the 8-year figure applies to mainnet. Relay Reward Lottery – 4,000,000 AQA Miners aren't the only ones keeping AntiQua alive. Nodes that relay transactions and blocks do essential work too – so they get their own reward. How it works: Register your node with a small bond of 0.5 AQA. A registration stays valid for 1,440 blocks (about 10 days on mainnet) and becomes active after 6 blocks. Every block from height 5 on pays 1.5 AQA to one registered relay node – as a second output of the block's coinbase, right next to the miner's reward. Fair rotation: a winner has to sit out for 144 blocks (about a day on mainnet) before winning again, and built-in guards prevent anyone from flooding or biasing the draw. Long-lasting: at 1.5 AQA per block, the 4 million budget lasts around 50 years on mainnet. After that, relays keep earning 5 % of the block fees. Every lottery payout is part of a block – public and verifiable like any other transaction. The full rules – bond, registration, cooldown and the guards against gaming – are in Relay Reward Lottery. Running a full node? Relay lottery participation is switched on by default in the node config. How the funds are created: in the open, one block each The genesis block stays clean: it only contains the genesis message and the normal 50 AQA block reward. No fund money is hidden in it. Right after genesis, the four ecosystem funds are created in four separate, dedicated blocks. In each of them, the block's coinbase is the fund – nothing else: Block #0 Genesis genesis message + 50 AQA mining reward Block #1 Bug Bounty Fund 3,000,000 AQA Block #2 Charity Fund 4,000,000 AQA Block #3 Dev Fund 1,500,000 AQA Block #4 Server Fund 1,500,000 AQA Block #5+ mining 50 AQA per block + 1.5 AQA relay lottery After block #4 the funds are closed for good – there are no further fund blocks, ever. Apart from these four one-time blocks, new AQA can only be created by mining and the relay lottery. No hidden mint, no admin key that prints coins. The four funds – and the rules that bind them Bug Bounty Fund – 3,000,000 AQA Β· Multi-sig 2-of-3 A post-quantum blockchain has to be battle-tested. This fund pays security researchers who find and responsibly report vulnerabilities, and finances professional security audits. Severity Guideline reward Critical up to 300,000 AQA High 30,000 – 100,000 AQA Medium 5,000 – 30,000 AQA Available on demand – no vesting, because a critical bug can't wait for the next quarter. Every payout needs 2 of 3 signatures. Charity Fund – 4,000,000 AQA Β· Multi-sig 2-of-3 Our way of giving back. The community votes on where the money goes, with a focus on environment, education and open source. Locked in an on-chain vesting contract: 250,000 AQA per quarter, 16 quarters, 4 years – starting with the fund block at mainnet launch Quarterly community vote on the recipients Every release needs 2 of 3 signatures Dev Fund – 1,500,000 AQA Β· Single-sig, vested Building a blockchain from scratch costs years of work and real money – servers, tools, audits. This fund recognises the initial development and keeps full-time development going. The full 1.5 million goes into an on-chain vesting contract Released linearly over 4 years – no big dump possible Server & Infrastructure Fund – 1,500,000 AQA Β· Single-sig, vested A network needs infrastructure: DNS seeders, archive and full nodes around the world, backups and redundancy. 250,000 AQA available right away to get the infrastructure running The remaining 1,250,000 AQA released linearly over 5 years Enforced by the node software: the fund blocks are only created if Bug Bounty and Charity point to multi-sig addresses and Dev and Server to single-sig addresses – anything else is rejected. The vesting contracts use the VESTING template built into NodeCore. How the fund keys are protected Cold storage – fund wallets are created and signed on offline machines that never touch the internet Separated backups – recovery phrases are stored on paper in several physically separate locations Public announcements of large transfers – before they happen Quarterly transparency reports here in the forum: balance of every fund, every payout with amount, purpose and transaction hash, charity votes, current mining reward and how much of the relay budget has been paid out Verify it yourself Once mainnet is live, anyone can check with a node or the block explorer: Block #0 – clean genesis, 50 AQA Blocks #1–#4 – exactly 3M / 4M / 1.5M / 1.5M AQA to the four fund addresses Every block from #5 – 50 AQA mining reward (halving) + 1.5 AQA relay output Fund addresses – every balance and every outgoing transaction Fund addresses & explorer links – coming soon. The official mainnet addresses of all four funds will be published after the key ceremony, together with links to the AntiQua block explorer, so you can check every balance and every transaction yourself. We'll add them to this post and announce them in Announcements. Until then: any "fund address" you see anywhere else is not official. The fine print Smallest unit 1 AQA = 100,000,000 satoshi Dust limit 0.00001 AQA – smaller outputs are invalid Coinbase maturity mined coins become spendable after 100 blocks Consensus math all amounts are integers in satoshi – no floating-point rounding anywhere Your turn Questions, doubts, ideas? This is exactly the place for them – good tokenomics survive tough questions. Ask below. β€” Blythex
  • Audits, hardening decisions, responsible disclosure, and the bug bounty.

    1 1
    1 Topics
    1 Posts
    BlythexB
    AntiQua has undergone two full external audit rounds: NightShift Audit β€” 47 findings identified and remediated. Draikoon Audit β€” 11 findings, all CRITICAL and HIGH resolved. Production security decisions include: hard-abort on plaintext key handling, mempool RBF lockout, DNS eclipse fallback seeders, and mnemonic export PIN protection. Bug bounty program incoming. Details to follow.
  • Introductions, general discussion, and everything else.

    1 1
    1 Topics
    1 Posts
    BlythexB
    Hey, and welcome to AntiQua! Whether you write code, run a miner, read NIST papers for fun, or simply believe that your money should stay yours – even in a world with quantum computers – you belong here. This is the place to say hello. No question is too basic, no background too unusual. Everyone started somewhere. Tell us about yourself Just reply to this topic. If you're not sure what to write, copy this and fill in whatever you like – every line is optional: Nickname: Where I'm from: (country or region is plenty) How I found AntiQua: What I'm into: mining / running a node / development / cryptography / economics / just curious My background: developer, miner, student, trader, ... One thing I'd love to see in AntiQua: Write in your own language if you prefer. Every post has a Translate button, so the rest of us can still read along. Stay safe while you say hi A few simple habits keep you and your coins protected: Never share your recovery phrase or private keys – not here, not in chats, not with "support". This forum blocks them automatically, but don't rely on that alone. Keep personal details to yourself. No real address, phone number or private e-mail needed – a nickname is perfect. Be careful with private messages. The team will never message you first asking for funds, keys, or "verification". Offers of airdrops, investments or "recovery services" in DMs are scams. Official news only comes from the Announcements category. If it's not there, it's not official. Where to go next You want to… Go here Understand what AntiQua is Welcome to the AntiQua Community Forum Learn why post-quantum matters Why Post-Quantum? The Threat is Real Get help with a problem Support – start with How to Get Help Fast Mine or run a node Mining & Nodes Talk code and protocol Development Β· Technology Discuss tokenomics Economics & ICO Report a vulnerability Security Please take a minute to read the forum rules – they're short, we promise. I'll go first I'm Blythex. I work on the AntiQua core and look after this forum and our Git. I read every introduction here – so say hi, tell us what brought you, and don't be shy about asking questions. Glad you're here. Let's build something that lasts.