—
Not connected

🧱 What is a blockchain, really?

Forget the buzzwords. A blockchain is a notebook that thousands of computers around the world keep a copy of, and that no single person can rewrite.

When you upload a file with PStorage#1, the file is cut into small encrypted pieces ("chunks") and each piece is written into that notebook as a numbered entry. Every entry is chained to the previous one by a cryptographic fingerprint. If someone tried to change one entry, every fingerprint after it would break, and every honest computer in the world would immediately reject the fake notebook.

This is why we say it is immutable: once an entry is written and confirmed, it stays there. Not because a company promises to keep it, but because changing it is mathematically harder than rewriting the internet.

🛡️ Why can it not be hacked like Gmail, Dropbox, or a bank?

Gmail, Yahoo, iCloud, Dropbox, Google Drive are centralized. One company holds your data, on a few servers, behind one login. If that company is breached, your data is breached. If that company is hacked by AI-driven attackers who automate password guessing at industrial scale, your account falls. If that company decides to close your account, your data is gone. If it goes bankrupt, your data goes with it.

A blockchain is the opposite. It is not stored in one building. It is not owned by one company. It is copied on thousands of independent computers across dozens of countries. To hack it, an attacker would have to compromise more than half of the entire network at once — an attack that would cost billions of dollars and is practically impossible for Bitcoin or Ethereum.

  • No single point of failure: no server to breach, no admin account to steal, no customer database to dump.
  • No one can erase your data: not the author of this app, not the blockchain foundation, not a government, not you.
  • No one can sell your data: no company owns it.
  • No account suspension: no one can ban you from your own storage.
  • No downtime: the network runs 24/7, forever, as long as at least one computer is running.

Your password is the only key. It never leaves your device, never touches a server, never transits through an email system that AI attackers love to target. You are the only one who can decrypt your files — and the only one who can lose them.

🔥 Can it burn, drown, be stolen, or be destroyed?

Physical things can be lost. A USB key can burn in a house fire. A hard drive can drown in a flood. A safe can be stolen. A printed paper can be thrown away by mistake. A cloud account can be locked overnight after a billing issue. All of these are real risks that destroy data every day.

On-chain data does not have this problem. Your encrypted file is not on a single disk. It is copied on hundreds of computers around the world. If a fire burns down one data center, the copies elsewhere are untouched. If a flood destroys one country's nodes, the rest of the world keeps serving. If a thief steals your laptop, they get your wallet — which you can replace from your seed phrase — but the file on-chain stays exactly where it is, accessible from any other device.

What can still be lost:

  • Your password, if you don't write it down somewhere physical.
  • Your wallet's seed phrase, if you don't keep a paper backup.
  • Your ability to remember which contract address and MediaId belong to which file — this is why the app gives you a backup JSON after every upload.

The file itself stays on the blockchain. The only thing you can lose is the key to open it. Treat the key like the paper title of a house: you can lose the house if you lose the title, but the house itself does not move.

🌍 Why PStorage#1 is useful in real life

PStorage#1 is not a novelty. It is a practical answer to a real problem: the data you cannot afford to lose, and that no cloud company can honestly promise to keep safe forever. Here is what it concretely solves for different people:

  • Families — letters to loved ones, wills, birth certificates, photos of ancestors, voice notes for the next generation. If a fire destroys the house, the memories survive on-chain.
  • Doctors and nurses — critical patient notes, encrypted case histories, remote-consultation records that must outlive any hospital's IT migration.
  • Lawyers and notaries — contracts, evidence, signed agreements, sealed documents that cannot be tampered with after the fact.
  • Accountants and business owners — ledgers, receipts, supplier agreements, insurance certificates that survive the closure of a company or the death of an accountant.
  • Photographers and artists — original files with a provable creation date on-chain, usable as proof of authorship in a copyright dispute.
  • Developers — source code, signing keys, deployment scripts, configuration files, all encrypted and globally retrievable.
  • Journalists and whistleblowers — sources, notes, leaked documents that no one can seize, censor, or delete.
  • Activists and citizens in oppressive regimes — proof of human-rights abuses, testimonies, evidence that no government can erase from the world.
  • Anyone whose email has ever been breached — a password list or a seed phrase that no AI-driven Gmail hacker can reach.
  • Small businesses — backup of critical files that outlive the closure of a bank or a hosting provider.

In every case, the pattern is the same: data that must survive the loss of a company, a device, a fire, a war, a regime, an accident, or a human error. That is exactly what a blockchain does, and exactly what PStorage#1 gives you as a simple, encrypted interface.

📖 Welcome to PStorage#1

Your personal vault on the blockchain. Encrypted, permanent, and yours alone.

What is this?

PStorage#1 lets you upload any file — a document, a photo, a password list, your private keys, a will, an important contract, your source code — encrypted with your password, and store it permanently on the blockchain. No server. No company. No one can delete it, censor it, or lose it. Only someone who knows your password can read it.

🎯 Why use it

  • Hackers can breach Gmail, Yahoo, iCloud, Dropbox — AI attackers now automate this. A blockchain copy is out of their reach.
  • Companies lose data: servers get wiped, cloud accounts get suspended, backups get deleted. On-chain data stays forever.
  • You control the key: your password never leaves your device. Not even this app sees it.
  • No account, no email, no sign-up: your wallet is your identity.
  • Any profession benefits: doctors keep patient notes, lawyers keep case files, photographers keep originals, developers keep source code, families keep memories and letters to the future.

💡 Why long passwords matter

A 6-character password can be cracked in seconds. A 20-character password with numbers and symbols takes billions of years. Treat your password like the key to a safe: write it on paper, store it somewhere you would store cash, never type it into an email, never save it in a browser password manager that syncs to the cloud. If you lose the password, the file is gone forever. No support, no recovery, no exception.

🔑 Connecting your wallet

⚠️ Two ways to connect — pick the one that fits your situation
Method When to use it Risk
🦊 MetaMask On your own computer, on a secure home network. Best for daily use. When hosting this app on a public server, MetaMask is the safest option because it never exposes your key to the page. MetaMask can crash, lose sync, or lock up. That's why you should always keep a backup of your seed phrase on paper.
🔑 Private Key When MetaMask is down, when you're on a device that doesn't have it installed, or when you're offline on a local copy of this app. The key lives in this tab's memory only. Only use it on a computer you trust completely. Never on a public Wi-Fi, never on a shared computer, never on a page you downloaded from an untrusted source.
🛡️ If MetaMask crashes — your funds and data are still on-chain. Just reinstall MetaMask, import your seed phrase, and reconnect. Your files and passwords are untouched. This is why on-chain storage is your safety net: the app is just a window, your data lives on the blockchain.

🌐 Hosting this app

  • Online server — easiest for MetaMask users, but requires trust in whoever hosts the page. If you host it yourself, add HTTPS, keep the server updated.
  • Local copy — download the app from the blockchain (see footer), open the file directly in your browser. Best for maximum privacy, but you must trust the device. Works on a phone if the phone is secure.
  • Never use a version of this app that you didn't download from the on-chain source yourself. Imitations exist.

🧠 Recovering your files

  1. Save the backup JSON after every upload. It contains the contract address, MediaId, salt, IV, and password (if you choose to store it).
  2. Export the pending resume JSON if an upload is interrupted.
  3. Keep the backup in at least two separate physical locations (a USB key + a printed paper copy, for example).
  4. If you lose your wallet but still have the backup JSON: import your wallet from seed phrase on a fresh device, reconnect, and read the file with your password.
  5. If you lose the backup but still have your wallet: the file is still on-chain. Use the Detect tab to find your contracts, then read the MediaId you want.
  6. If you lose both: the file is unrecoverable. No one can help.

💾 What you can store

  • Passwords, seed phrases, private keys
  • Contracts, wills, diplomas, medical records
  • Photos, videos, voice notes, letters to loved ones
  • Source code, project archives, encrypted backups
  • Notes, journals, drafts of books
  • Business secrets, formulas, recipes, trade logs
📉 About size — today, storing 100 MB on-chain is expensive. A future release will let you compress 100 MB down to 100 KB (or less) using better client-side compression before encryption, so you can save anything. For now, prefer text-heavy content (documents, notes, code) over raw media.

🎫 Groups — sell time-limited access

A group bundles several MediaIds into a paid subscription. You set a name, a price, a duration (in seconds), and the list of media IDs. Anyone can then subscribe by paying the price and gets read access to those media until the subscription expires.

  • Use case: sell monthly access to a course, a photo pack, a private journal, a premium dataset.
  • Who creates: only the contract owner.
  • Who subscribes: anyone with a wallet and enough native token.
  • What subscribers get: read access, not ownership. On expiry, access is revoked automatically.
  • Payment: price + subFee goes to the owner or the configured payout address. No refund, no cancel once paid.

⚠️ Before subscribing: verify the group contains the media IDs you want, the price is fair, and you trust the owner. On-chain payment is final.

🛟 Recovery — your safety net if you lose your wallet

When you create a PermStorage contract, you choose a guardian (a second wallet you control, ideally on another device, in another location). If your main wallet is lost, stolen, or compromised, the guardian can transfer contract ownership to a new wallet — after a 7-day delay.

  • Who acts: only the guardian. The current owner cannot block a recovery — this is intentional so a stolen wallet cannot freeze it.
  • The 7-day delay: gives time to notice. If legitimate, the guardian completes it. If malicious, only the guardian themselves can cancel — so choose your guardian carefully.
  • What changes: contract ownership (ability to create media, sell the contract, withdraw funds).
  • What does NOT change: existing media stay on-chain. Their MediaId, content, and encryption are untouched.
  • After a successful recovery: the child's recoveryWallet is reset to zero. The new owner must set a new guardian via the Orchestrator.

🛡️ Guardian rules: never share the guardian's key. Keep its seed phrase on paper, separately from your main wallet's. Use a different device and ideally a different location. The guardian is a backup, not a second daily wallet.

🛡️ Access — free permanent readers, no subscription

Groups are for paid, time-limited access. Access is the opposite: you grant a specific wallet permanent, free read access to your media — until you revoke it.

  • Use case: let a friend, a family member, a lawyer, an accountant, or a trusted colleague read a file without paying and without an expiry date.
  • How: call setAuthorizedReader(address) on your contract. One call grants access, a second call revokes it — it's a toggle per address.
  • Who can grant/revoke: only the contract owner.
  • What the reader needs: their own wallet connected, and the password. Access grants them the right to fetch the encrypted chunks — decryption still requires the password. So a friend you authorized cannot read your file unless you also give them the password separately (in person, over a call, on paper — never by email).
  • What revoked means: their wallet can no longer call getMediaChunk. If they already downloaded the ciphertext and know the password, they keep their copy — but no new reads happen on-chain.
  • Permanent: unlike a group subscription, access does not expire by itself. It only ends when you toggle it off.

💡 Think of it as handing someone a key to your safe room. You can give it, take it back, and if you never told them the lock combination, they can't open what's inside even with the key.

⚠️ Access is global to the contract, not per MediaId. When you authorize an address, it can read all media on that contract. If you need per-file access, either create a separate PermStorage contract for the sensitive file, or use a group restricted to specific MediaIds.

⛽ Gas — estimate cost before you commit

Every upload, every sale, every subscription, every write on-chain costs gas — a small fee paid in the chain's native token (ETH on Arbitrum, POL on Polygon, BNB on BSC, AVAX on Avalanche, etc.). The Gas tab shows live fee data so you know before you click.

  • gasPrice — the current price per unit of gas on this chain.
  • maxFeePerGas — the maximum you are willing to pay per unit (EIP-1559).
  • maxPriorityFeePerGas — the tip to the validator for faster inclusion.
  • What it means in practice: a single chunk of 20 KB can cost several million gas. Uploading a full file = one tx per chunk. The larger the file, the higher the total cost. Upload during low-traffic hours to save.

💡 Rules of thumb:

  • On L2 chains (Arbitrum, Base, Optimism, Linea), gas is very cheap — cents per chunk.
  • On L1 (Ethereum mainnet), gas is expensive — tens of dollars per chunk. Prefer L2.
  • On Polygon, BSC, Avalanche, gas is usually cheap but can spike.
  • If a chunk fails with "out of gas", the app automatically retries with a larger limit. If it fails with "insufficient funds", top up your wallet.

⚠️ Gas is not refundable if a transaction reverts for a reason other than the failure itself (e.g., a wrong password check on-chain — though this contract does not check passwords, so uploads don't fail on that). But other errors — wrong contract address, wrong guardian, insufficient PSTG token balance — will burn gas. Check the numbers twice before signing.

🚫 What NOT to do

  • Never share your wallet's private key or seed phrase with anyone, not even someone claiming to be "support".
  • Never reuse the same password on-chain as on your email or bank.
  • Never trust a public Wi-Fi to type a private key.
  • Never ignore the backup JSON — download it every time.
  • Never click a link that claims to "restore your lost files" — scammers target this.
  • Do not use the Admin tab unless you are the owner of the Orchestrator contract. It is a dangerous panel meant for a very small number of people.

🔐 About the Admin tab

The Admin tab is not for regular users. It exposes functions only the Orchestrator owner can call — setting fees, deploying contracts on behalf of others, withdrawing balances. If you are not the owner, the calls will fail. Do not attempt to use it unless you know exactly what you are doing.

🪙 About the PSTG token

PSTG is the utility token of the PStorage#1 ecosystem. It is not a security, not an investment, and not sold by the author. It exists for one purpose: to let you create and use PermStorage contracts on-chain.

💡 How do you get PSTG?

  • By creating a PermStorage contract — every deployment rewards you with 10 PSTG that land in your wallet as part of the deployment flow. This is the primary and normal way to acquire PSTG.
  • Early access bonus (first 100 creators) — the first 100 wallets to deploy a PermStorage contract do not pay the deployment fee. They still receive the 10 PSTG reward. It is a thank-you for testing the system early.
  • First 3 creators get a large amount — the very first three wallets to deploy receive a much larger PSTG allocation as a founding-contributor bonus. This is a one-time historical reward, already allocated.
  • Activities organized by the author — contests, bounties, community events, bug reports, source translations, and other contributions may reward PSTG. Announcements are published on pstorage-num1.com.
  • From the future enterprise — a company is being set up to formalize and expand these activities. It will offer paid enterprise services (larger storage, dedicated recovery, professional support, custom contracts) and may distribute PSTG as a loyalty or usage reward to its customers. This does not exist yet — it is coming.

🚫 What PSTG is NOT

  • Not sold by the author, in any form, on any exchange, at any price. If someone offers you PSTG for money, it is not from the author.
  • Not a promise of profit. Do not buy PSTG from third parties expecting it to go up. It is a utility token, not an investment product.
  • Not required to read. You can read any media you have access to without holding PSTG. PSTG is needed to create and operate a PermStorage contract.
  • Not tradable on exchanges as of today. The author has not listed it anywhere and does not endorse any listing.
  • Not a guarantee of future value. Any future utility will be defined by the enterprise when it launches, if it launches, and will be documented at that time.
⚠️ Beware of scams — there are no PSTG presales, no airdrops requiring you to connect your wallet to an unknown site, no "claim your tokens" pages, and no official Telegram or Discord asking for seed phrases. The only legitimate source of PSTG is the on-chain reward from deploying a PermStorage contract, or a direct allocation from the author as part of a documented community activity. Anything else is a scam.

🌐 PSTG is deployed on 8 chains

PSTG is available on 8 blockchains, and — this is the important part — it uses the exact same contract address on every chain. The same goes for the Orchestrator, the Factory, and every PermStorage contract you deploy. This is intentional, and it makes the whole system dramatically easier to handle for anyone.

  • Same address everywhere — if you know the PSTG address on Arbitrum, you already know it on Base, Optimism, Polygon, BSC, Avalanche, Linea, and Ethereum mainnet. No risk of copying the wrong address from the wrong chain. No confusion between versions.
  • Why this matters for users — you can search a single address on any block explorer, you can copy-paste it across chains without re-checking, and you can be sure that the token you see on chain A is genuinely the same project as the token on chain B. There is no "fake PSTG on Base" to worry about if you use the canonical address.
  • Why this matters for developers and integrators — wallets, dApps, indexers, and enterprise tools can hardcode the address once, and it works on all 8 chains. No per-chain config, no per-chain audit, no per-chain deployment drift. One address, one ABI, eight networks.
  • Why this matters for the enterprise — when the company launches its paid services in the coming months, it will be able to support all 8 chains with the same contracts, the same documentation, and the same security model. Users will not have to learn a different system per chain.
  • Deployment consistency — the same contracts, byte-for-byte, on every chain where a given blockchain family allows it. If you verify a contract on Arbiscan, you can be confident the exact same code runs on Basescan, Optimistic Etherscan, Polygonscan, BscScan, Snowtrace, Lineascan, and Etherscan. A single audit covers all deployments.

⚠️ One exception: Ethereum mainnet and its L2s (Arbitrum, Base, Optimism, Linea) share the same EVM bytecode, so contracts can be identical. BSC and Avalanche are also EVM-compatible and use the same code. But a chain that changes its EVM rules in the future would require a new deployment. For now, all 8 chains run the same contracts.

💡 Practical tip: bookmark the PSTG address once. Then, no matter which chain you are on, paste it into the explorer search bar and you will land on the correct token contract — no risk of phishing lookalikes.

Show contract addresses (identical on all 8 chains)
Contract Address (same on all 8 chains)
PSTG Token 0xcd19942acf50dDF884f1b94C0af2D4F0AE26A9C9
Orchestrator 0x804e8A01b7465C4086aC688b8Aa856E43b4739A4
Factory 0xff665C6765A9911C4571DDDC893Dfd51Dab2cd29

🏢 What is coming in the next 3 months

The activities that started last year — the app, the contracts, the community experiments — will be formalized into an enterprise structure within the next 3 months. This enterprise will take over the serious side of the project: professional support, SLA-backed storage, dedicated recovery for enterprises, custom deployments, and a clear framework for using PSTG in a business context. The current app remains free and open. Announcements will be made on pstorage-num1.com.

⚠️ Disclaimer and acceptance of risk

Use this system at your own risk.

All software is built by humans. All software has bugs. All blockchain transactions are irreversible. By using PStorage#1, you accept full responsibility for:

  • The files you choose to upload and how sensitive they are.
  • The strength and storage of your password.
  • The safety of your wallet, your private key, and your device.
  • Any loss caused by user error, device failure, network issue, or bug in the software.

PStorage#1 is a tool. It does not work for any blockchain organization, exchange, or authority. It is an independent project. The author is not responsible for how you use it, what you store, or what happens to that data.

🏢 The future

PStorage#1 is an independent project. The author is working on an enterprise offering that will bring more protection, custom support, larger files, and professional-grade recovery options. The current app is and will remain open and free. Watch pstorage-num1.com for announcements.

Ready to start?

📤 Upload a file

Encrypt locally, split into chunks, store on-chain. Description is public (not encrypted).

Do not put your password here. You may put a memory hint.
Auto-detected from file extension.

⏸️ Pending uploads

Uploads interrupted by network loss or reload. Resume scans on-chain for missing chunks and continues from there.

📚 My media

List finalized media on a PermStorage contract you own or can access.

📖 Read and decrypt

Fetch chunks from chain and decrypt with your password.

🏭 Create PermStorage

Deploy your personal storage contract via the Orchestrator (CREATE2).

Required. Must match the creationCodeHash registered on the Deployer.
This address can start recovery if your main wallet is compromised.

🔍 Detect my contracts

Scan Orchestrator events for PermStorage contracts linked to an address.

💰 Sell contract

List your PermStorage for sale. Marketplace fee is 5%. Funds credited to a pending balance you must withdraw.

Whitelist management

💸 Buy contract

Purchase a PermStorage that is listed for sale.

🛡️ Authorized readers

The contract stores a single global authorizedReaders[address] toggle. Clicking the button toggles the flag for that address.

🎫 Create group subscription

Owner-only. Link media IDs, set a price and a duration. Subscribers get time-limited access.

2592000 = 30 days

🎟️ Subscribe to a group

Pay the group price + subFee to get access until expiry. You can subscribe multiple times to extend.

📋 List existing groups

🛟 Recovery system

Only the guardian can initiate, cancel, or complete recovery. Actions go through the Orchestrator. 7-day delay before completion is possible.

⚙️ Orchestrator state

These calls go to the Orchestrator and require the connected wallet to be the Orchestrator owner for writes. Reads work with any wallet.

🔀 Multi-contract per wallet

💸 Fees & recipients

📦 Per-contract feeQty

🏦 Withdraw from Orchestrator

🏭 Create several contracts for a user (owner-only)

Deploy one or more PermStorage contracts owned by another address. The owner pays gas and fees. Each contract gets a unique salt. You must supply the guardian for all of them (cannot equal the client address).

⛽ Gas tracker

⚙️ Settings