What AMMO Is For

AMMO is a tool. Below is each thing the AMMOcoin chain can do today, what it's good for, the exact commands, and where it stops. Commands are for ammocoin-cli from the v1.1.1 core wallet; you can type the same commands in the desktop wallet under Settings, Debug, Console. Anything marked coming isn't built yet.

Nobody from AMMOcoin, and nobody from GLiBz, will ever ask for your private keys, seed phrase or wallet file. Every use on this page works without anyone seeing them.

  1. Prove you own an address
  2. Passes, tickets and memberships
  3. Proof of authorship
  4. Item authentication (AMMO-AUTH)
  5. Provably fair draws
  6. Cold staking
  7. Masternodes and DAO Command
  8. Shielded addresses and memos
  9. Tips and trades between people
  10. Paper and cold wallets

1. Prove you own an address

A signed message proves that whoever made it holds the private key of an address, without showing the key or moving a single coin. It's how v1.0 holders claim an address for the airdrop, and how anyone can show "this address is mine".

# sign (wallet unlocked; a standard address starting with A)
ammocoin-cli signmessage "<your_A_address>" "I control this address. 2026-11-05 nonce 7f3a"

# anyone can check it, no wallet needed for the address
ammocoin-cli verifymessage "<your_A_address>" "<signature>" "I control this address. 2026-11-05 nonce 7f3a"

In the desktop wallet: Settings, Sign/Verify Message. For developers: the format is the Bitcoin-style compact signature (base64) over the message magic DarkNet Signed Message:\n, inherited from PIVX.

Sign in with AMMO coming: GLiBz plans a login where the site shows a one-time challenge, your wallet signs it, and the site checks the signature. First comes "Claim yer address" coming, which links an address to a GLiBz account the same way.

Limits: a signature proves control of the key when it was made. It doesn't prove who you are, and it can be shown again later, so whoever asks for it should put a fresh nonce or date in the message. Only sign exact text you agree with; the wallet warns about vague messages for a reason.

2. Passes, tickets and memberships

A club, event or crew can keep a list of member addresses. At the door (or the login page) it shows a one-time code; the member signs it and the organiser checks it with verifymessage. No card to forge, no password to leak.

# door shows: "Gate 3 entry 2026-12-31 code 51842"
ammocoin-cli signmessage "<member_A_address>" "Gate 3 entry 2026-12-31 code 51842"
ammocoin-cli verifymessage "<member_A_address>" "<signature>" "Gate 3 entry 2026-12-31 code 51842"

A physical pass can also be an item registered with AMMO-AUTH coming.

Limits: the pass is only as good as the organiser's check. One-time use means the organiser records each code as used. Anyone who has the member's key can use the pass, so a shared key is a shared pass.

3. Proof of authorship and timestamps

Hash a file on your own computer and put the hash in a transaction. The block's time then shows the file existed by that moment, and anyone holding the same file can check it. The file itself never leaves your computer; only its 32-byte fingerprint goes on chain.

# 1. hash the file locally (Linux: sha256sum)
shasum -a 256 mysong.wav

# 2. anchor the 64-hex-digit hash (wallet unlocked; the A address pays a small network fee)
ammocoin-cli sendopreturn "<your_A_address>" "<sha256_hash>"

# 3. anyone can read it back: look for the output of type "nulldata"
ammocoin-cli getrawtransaction "<txid>" 1

The same data output can be made by hand: createrawtransaction accepts a "data": "<hex>" key in its outputs. The rules, from the code: one data (OP_RETURN) output per transaction; its script can be at most 83 bytes counting the OP_RETURN and push opcodes, so about 80 bytes of data; a node started with -datacarrier=0 won't make or relay them. sendopreturn only sends from a standard A address.

Daily batching on GLiBz coming: GLiBz plans to collect members' hashes each day into one Merkle root, anchor that in a single transaction, and give each member a receipt that proves their hash is in it.

Limits: it proves a file existed by a block's time. It doesn't prove you made it, or that nobody made it before. Keep the exact file: change one byte and the hash changes. Anything you put in a data output is public and permanent, so never put personal details there.

4. Item authentication (AMMO-AUTH)

AMMO-AUTH links a physical item to the chain through an NFC chip with a secure element. The chip holds its own key, which never leaves it. The maker registers the chip on chain, owners pass it along with transfers, and a phone checks the item by asking the chip to sign a fresh random challenge. The full spec is AMMO-AUTH v1.

Each message is a data output that starts with 414d4d4f ("AMMO"), a version byte and a type: 01 REGISTER (chip key hash + metadata hash, 58 bytes), 02 TRANSFER (chip key hash + new owner's key hash, 46 bytes), 03 REVOKE (chip key hash + reason, 27 bytes). The sending address is the maker or owner.

# REGISTER, v1 format: 20-byte HASH160 of the chip key, 32-byte SHA-256 of the metadata JSON
ammocoin-cli sendopreturn "<maker_A_address>" "414d4d4f0101<chip_pubkey_hash_40hex><metadata_hash_64hex>"

# TRANSFER: the new owner's key hash is the 40 hex digits inside "76a914...88ac"
ammocoin-cli validateaddress "<new_owner_A_address>"
ammocoin-cli sendopreturn "<current_owner_A_address>" "414d4d4f0102<chip_pubkey_hash_40hex><new_owner_hash_40hex>"

coming The chips, the phone check in the AMMOcoin app and the explorer's AMMO-AUTH lookup aren't available yet; the explorer lookup is written but not switched on. A v1.1 draft fixes weaknesses found in v1: a v1 REGISTER doesn't prove the registrant ever held the chip, a v1 TRANSFER can be replayed, and a v1 REVOKE takes effect at once. Wait for v1.1 before registering anything that matters.

Limits: a QR code or a printed serial alone can be copied onto a fake. What proves the physical item is the chip's challenge-response: the chip signs a new random challenge each time, and only the real chip can. The chain proves the record and its history; the chip proves the item. Wait for 6 or more confirmations before trusting a REGISTER.

5. Provably fair draws

Any community can pick winners in a way everyone can re-check. Close entries at a block height, publish the entry list (and its hash), then use the hash of a block a few blocks later, which nobody knew when entries closed.

# the block hash at the draw height (or read it on explorer.ammocoin.org)
ammocoin-cli getblockhash <height>

# winner k (k = 1, 2, 3 ...) is the entry at this 0-based index; skip repeats
python3 -c 'import hashlib,sys; h,n,k=sys.argv[1],int(sys.argv[2]),sys.argv[3]; print(int(hashlib.sha256((h+":"+k).encode()).hexdigest(),16)%n)' <blockhash> <number_of_entries> 1

GLiBz will use this method for its free draws coming, publishing the block, the hash, the entry-list hash and the script with each result.

Limits: whoever stakes the chosen block could, in theory, hold back a block they don't like, at the cost of that block. Using a block several blocks after entries close, and publishing the entry list before that block exists, keeps that small. A draw is fair only if nothing can be paid to enter or to improve the odds; follow the contest rules where you live.

6. Cold staking

Keep the keys that can spend your coins offline and let an always-on node stake them. The node holds only a staking key: it can stake the coins but can never send them. When a delegated coin stakes a block, the stake output, block reward included, goes back into the same delegation, still owned by your owner address. The project's own block-1 reserve is held this way (see Reserves).

# on the staking node: a staking address (starts with S)
ammocoin-cli getnewstakingaddress

# in the owner wallet: delegate; add true if the owner address lives in another (offline) wallet
ammocoin-cli delegatestake "<S_staking_address>" <amount> "<owner_A_address>"
ammocoin-cli delegatestake "<S_staking_address>" <amount> "<offline_owner_A_address>" true

# on the staking node: allow that owner, then check
ammocoin-cli delegatoradd "<owner_A_address>"
ammocoin-cli listcoldutxos
ammocoin-cli getcoldstakingbalance

The full walk-through is on Become an AMMOnode.

Limits: delegated coins need 600 confirmations before they stake, and they only stake while the staking node is online. How often any wallet stakes depends on how much else is staking. The owner key is what matters: lose it and nobody can move the coins, not even the staking node.

7. Masternodes and DAO Command

A masternode is a full node with 10,000 AMMO collateral that stays in your own wallet. Masternodes serve the network and are the voters in DAO Command, the on-chain governance: they vote on treasury proposals, and the code pays the proposals that pass from each budget cycle (43,200 blocks, about 90 days). The code also pays part of each block to a masternode in turn; what one node gets depends on how many others run and on staying online.

# controller wallet: key, collateral, and the collateral's txid and index
ammocoin-cli createmasternodekey
ammocoin-cli getnewaddress "mn1"
ammocoin-cli sendtoaddress "<mn1_address>" 10000
ammocoin-cli getmasternodeoutputs
# masternode.conf line: mn1 <IP>:37020 <masternode_key> <collateral_txid> <index>
ammocoin-cli startmasternode alias false mn1
ammocoin-cli getmasternodestatus

# DAO Command: read proposals and vote
ammocoin-cli getbudgetinfo
ammocoin-cli mnbudgetvote "many" "<proposal_hash>" "yes"

Anyone can submit a proposal: preparebudget burns the proposal fee, then submitbudget with the fee's txid. The proposal builder writes both commands for you, and current proposals are on Proposals. Full setup: Become an AMMOmaster.

Limits: one masternode, one vote. A masternode needs a public IPv4 address with port 37020 open and has to stay online. Moving the collateral stops the masternode. Proposals must be at least a day old to make it into a budget.

8. Shielded addresses and memos

AMMO is transparent by default: addresses and amounts are public. From v1.1.1 you can choose Sapling shielded addresses (they start with as1). Between shielded addresses the chain doesn't show the sender, the receiver or the amount. A payment to a shielded address can carry an encrypted memo of up to 512 bytes, which only the receiver (or someone holding the viewing key) can read: an invoice number, a note, a thank-you.

ammocoin-cli getnewshieldaddress
ammocoin-cli shieldsendmany "from_transparent" '[{"address":"<as1_shield_address>","amount":<amount>,"memo":"Invoice 1042, thanks"}]'
ammocoin-cli getshieldbalance
ammocoin-cli listreceivedbyshieldaddress "<as1_shield_address>"
ammocoin-cli viewshieldtransaction "<txid>"

# read-only key: lets someone you choose see this address's history, not spend it
ammocoin-cli exportsaplingviewingkey "<as1_shield_address>"
Limits: shielding is optional and only covers what happens between shielded addresses. Moving coins from a transparent address into a shielded one, or back out, shows the transparent side and its amount. Memos only go to shielded addresses. The peers your node connects to can see your IP address. AMMO gives you tools, not invisibility, and good habits do the rest: don't reuse transparent addresses, and encrypt and back up your wallet. More on Privacy.1

9. Tips and trades between people

AMMO moves from one person's wallet to another's, peer to peer, in about 3 minutes per block. Members of GLiBz can tip each other for a good post or a helping hand, and settle their own deals between themselves, by sending to an address the other member shares.

# check the address really belongs to them (they sign, you verify), then send
ammocoin-cli verifymessage "<their_A_address>" "<signature>" "<your challenge>"
ammocoin-cli sendtoaddress "<their_A_address>" <amount>
Limits: a transaction can't be reversed, so check the address first. Trades between members are the members' own business: AMMOcoin and GLiBz set no rate and aren't a party to them. You're responsible for any taxes on AMMO you receive.

10. Paper and cold wallets

Your keys, your coins. A paper wallet is an address and its private key printed on paper, made on a computer that is offline. A cold wallet is a wallet file kept on a machine or drive that stays offline. Either one can receive coins at any time, and with cold staking (above, with true for an offline owner) its coins can stake without the key ever going online.

# an encrypted, backed-up wallet
ammocoin-cli encryptwallet "<long passphrase>"
ammocoin-cli backupwallet "/path/to/usb/wallet-backup.dat"

# to spend from a paper wallet later: import its key, then move everything to a new address
ammocoin-cli importprivkey "<paper_wallet_WIF_key>" "paper" true
Limits: anyone who sees the private key controls the coins, so make paper wallets offline, print them on a printer you trust and store them like cash. Paper fades, burns and gets lost: keep more than one copy in more than one place. Once a paper key has been imported into an online wallet, treat it as used.

Learn it hands-on

Skoolin' Trails on GLiBz coming walk through each use on this page, one short lesson at a time, with the same commands.

Nobody from AMMOcoin or GLiBz will ever ask you to send coins, private keys, seed phrases or wallet files.

Not an offer, not investment advice. AMMOcoin offers nothing on this page and promises no return of any kind. AMMO is Proudly Worthless™.

1 AMMO is not a proponent of its network being used to circumvent or bypass an individual's local, state or federal tax or financial reporting obligations. It only strives to offer the same level of individual responsibility and freedom as the hard currencies and stores of value it seeks to optimize. Every individual is responsible for their own actions.