Built for the day
the curves break.
Elliptic curves guard every Solana wallet today. REDOUBT is the fallback position: launch on pump.fun from your own wallet, get a receipt sealed with ML-DSA-65 (NIST FIPS 204), and find out which of your keys are already public.
Three lines of defence, each one you can check.
A redoubt is the fort you fall back to when the outer works give way. REDOUBT maps its tools onto the same three rings, and every one of them runs on public data you can inspect.
See what is exposed
The open ground in front of the walls, where nothing can hide. The Exposure Scanner reads Solana, Ethereum and Bitcoin addresses live and tells you whether the public key is already out there, and what sits behind it.
Exposure ScannerProve what happened
Every launch gets a receipt: canonical JSON, a SHA-256 digest and a 3,309-byte ML-DSA-65 signature. The Seal Verifier checks it in your browser and against the chain, without trusting our database.
Seal VerifierKnow what backs the floor
The reserve model turns creator fees into a reserve with every assumption on the table: the fee tier read live from pump.fun, conversion cost, a volume trend that can fade.
Reserve SimulatorWhen does your public key go public?
Shor's algorithm turns a public key into its private key. So the question that matters isn't whether you have funds, it's whether your key is already visible. The address format decides that.
| Address type | What the address is | Key becomes public | Before first use |
|---|---|---|---|
| Solana wallet | The Ed25519 public key itself | Immediately | exposed |
| Bitcoin Taproot (bc1p…) | A tweaked secp256k1 public key | Immediately | exposed |
| Bitcoin P2PKH / P2WPKH | HASH160 of the public key | At the first spend | hashed |
| Bitcoin P2SH / P2WSH | A hash of the spending script | At the first spend | hashed |
| Ethereum account | Last 20 bytes of Keccak-256(public key) | At the first signed transaction | hashed |
| Solana PDA / contract | No private key behind it | Never: there's no key | keyless |
No quantum computer that can run Shor's algorithm at this scale exists today. This is about how long a key has been on display when one does.
Launched, confirmed, sealed.
A token reaches the board only after the server reads its transaction from chain and finds a successful pump.fun create that matches what was prepared. Then it gets its seal.
The first token launched here gets receipt number one.
A receipt anyone can check, with a signature built to outlast the curve.
- 01Canonical body
The launch facts (mint, creator, transaction, slot) serialised with sorted keys and no whitespace, so every verifier hashes identical bytes.
- 02SHA-256 digest
Catches any edit to the body. On its own it proves consistency, not authorship: anyone can recompute a digest.
- 03ML-DSA-65 seal
A FIPS 204 lattice signature over the body, bound to the context string redoubt/launch-receipt/v1. That's what proves REDOUBT issued it.
- 04Chain attestation
The verifier fetches the transaction and checks the receipt against what actually happened on Solana.
{"type": "redoubt.launch-receipt","version": 1,"status": "sealed","network": "solana:mainnet","program": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P","token": {"mint": "<mint address>","name": "<name>","symbol": "<TICKER>","metadataUri": "<https://…>"},"creator": "<your wallet>","initialBuyLamports": 0,"transaction": {"signature": "<base58 signature>","slot": 0,"blockTime": 0},"issuedAt": "<ISO time>","digest": {"alg": "SHA-256","value": "<64 hex chars>"},"seal": {"alg": "ML-DSA-65","keyId": "<16 hex chars>","context": "redoubt/launch-receipt/v1","signature": "<3,309 bytes, base64>"}}
The algorithms, side by side.
NIST finalised its first post-quantum standards in August 2024. Bigger keys and signatures are the price of not relying on elliptic curves.
| Scheme | Standard | Family | Public key | Signature | Against Shor | Role here |
|---|---|---|---|---|---|---|
| Ed25519 | RFC 8032 | Elliptic curve | 32 B | 64 B | Broken by Shor | Signs every Solana transaction, yours included |
| ML-DSA-65 | FIPS 204 | Module lattice | 1,952 B | 3,309 B | Designed to resist | Seals every REDOUBT launch receipt |
| SLH-DSA-128s | FIPS 205 | Stateless hash-based | 32 B | 7,856 B | Designed to resist | The conservative fallback: rests on hash functions alone |
| ML-KEM-768 | FIPS 203 | Module lattice | 1,184 B | 1,088 B ct | Designed to resist | Key exchange, not signatures: secures channels, not receipts |
ML-KEM sizes are the encapsulation key and ciphertext. A separate proof layer doesn't change the signatures Solana itself checks.
Creator fees into a reserve, with the assumptions showing.
A sample run of the simulator. The creator fee comes from pump.fun's fee configuration on chain; everything else is an input you can change.
What REDOUBT is not.
The fastest way to lose trust in security tooling is to oversell it, so here is the boundary.
It proves REDOUBT recorded a specific pump.fun launch. Your Solana transactions are still Ed25519, and no off-chain signature changes that.
Launches are standard pump.fun creates. Your wallet signs and pays; the mint key is generated in your browser and thrown away after signing. The server never holds either.
No vault program is deployed, nothing is redeemed, and a projection is arithmetic on stated assumptions, not a forecast.
It can't see off-chain signatures (permits, sign-in messages) that may also have revealed a key.
Raise your redoubt.
Name it, ticker it, sign it. The receipt is sealed the moment the chain confirms.