Giveaways Made Easy: ANT Prepaid Upload Coupons

:admission_tickets: “Coupon Mint” for Data Uploads

Short explanation:
Create Ethereum addresses funded with ANT and use them as upload coupons that you can give to friends, family, or use as prizes in marketing campaigns. Each address acts like a prepaid balance with a fixed amount of ANT (1, 2, 5, 10, 100 ANT, etc.).


:puzzle_piece: How it works

  1. You generate separate seed phrases → each creates a unique Ethereum address.
  2. You direct your nodes to fund those addresses with small ANT amounts.
  3. Each funded address becomes a coupon with a “denomination” (1, 2, 5, 10, 100 ANT).
  4. You give people the seed phrase → they import it in their wallet → they can upload data using that ANT whit Dave and Paymaster activated.
  5. This makes it easy to share small upload balances for fun, tests, gifts, or marketing events.

You can generate these seed phrases however you like. I’m sharing a working example script created with ChatGPT, but it’s just for convenience — feel free to use your own method.

#!/usr/bin/env python3
"""
Generates N mnemonics and corresponding Ethereum addresses.
Saves everything in a CSV file: mnemonic, eth_address
Requirements: pip install bip-utils
"""

import csv
import argparse
from bip_utils import (
    Bip39MnemonicGenerator, Bip39WordsNum, Bip39SeedGenerator,
    Bip44, Bip44Coins, Bip44Changes
)

def generate_one_pair(words_num=12):
    # Generate mnemonic
    mnemonic = Bip39MnemonicGenerator().FromWordsNumber(
        Bip39WordsNum.WORDS_NUM_12 if words_num == 12 else Bip39WordsNum.WORDS_NUM_24
    )

    # Generate seed
    seed_bytes = Bip39SeedGenerator(mnemonic).Generate()

    # BIP44 → Ethereum → first address
    bip44_ctx = Bip44.FromSeed(seed_bytes, Bip44Coins.ETHEREUM)
    acct = bip44_ctx.Purpose().Coin().Account(0).Change(Bip44Changes.CHAIN_EXT).AddressIndex(0)
    eth_address = acct.PublicKey().ToAddress()

    return str(mnemonic), eth_address


def main():
    parser = argparse.ArgumentParser(description="Generate N ETH addresses and save to CSV.")
    parser.add_argument("-n", "--number", type=int, default=10, help="Number of addresses to generate")
    parser.add_argument("-w", "--words", type=int, choices=[12, 24], default=12,
                        help="Number of words in mnemonic (12 or 24)")
    parser.add_argument("-o", "--output", default="eth_wallets.csv",
                        help="CSV output file name")

    args = parser.parse_args()

    print(f"Generating {args.number} mnemonics + ETH addresses…")

    rows = []
    for _ in range(args.number):
        mnemonic, address = generate_one_pair(words_num=args.words)
        rows.append([mnemonic, address])

    # Save to CSV
    with open(args.output, "w", newline="", encoding="utf-8") as f:
        writer = csv.writer(f)
        writer.writerow(["Mnemonic (BIP-39)", "Ethereum Address"])
        writer.writerows(rows)

    print(f"\nDone! Saved to: {args.output}\n")


if __name__ == "__main__":
    main()

:laptop: Instructions for Linux

  1. Install Python dependencies (if not already installed):
pip install bip-utils
  1. Save the script as generate_eth_wallets.py.
  2. Make it executable (optional):
chmod +x generate_eth_wallets.py
  1. Run the script:
# Generate 10 wallets with 12-word mnemonics (default)
./generate_eth_wallets.py

# Generate 50 wallets with 24-word mnemonics and custom output file
./generate_eth_wallets.py -n 50 -w 24 -o my_eth_wallets.csv
  1. Result:
    A CSV file (eth_wallets.csv by default) will be created with two columns:
  • Mnemonic (BIP-39)
  • Ethereum Address

Check out the Impossible Futures!

12 Likes

Your passion is always admirable. Since the team hasn’t made an official announcement about data permanence yet, it still feels a bit early to take any concrete action. I hope you can maintain your steady marathon pace.

5 Likes

Every meaningful success in life comes from preparation.

The advantage of ANT coupons generated in this way is that neither the sender nor the receiver needs to go through KYC, which means you can share them with complete strangers without worrying about being linked to them.

They take time to generate, so anyone interested should start preparing now, even though we don’t have data permanence yet.


Check out the Impossible Futures!

8 Likes