Two clients share one catalog:
- Desktop (Linux AppImage,
.deb, or apt; universal macOS.app; Windows NSIS). In-app wallet on Arbitrum One. Browse, pay or free-download, save.tar/.zip, and (when the bundled IPFS node is up) Download and Pin. Comments, votes, and profile edits are written from here. - Web at app.torrentech.org. An Ethereum web wallet add-on (MetaMask or similar) on Arbitrum One. Browse, Pay TTT, then Download .tar / .zip. The catalog is public. Album bytes stay behind the token-gated gateway until that wallet has unlocked the format.
Public desktop builds are listed on Get the app and at
downloads/latest. The published latest is
v0.2.3 (2026-09-29; Linux, macOS, and Windows). The app shows its own version under the logo;
that number can be newer than latest.json until a publish runs.
| Desktop | Web catalog | |
|---|---|---|
| Install | Linux: Ubuntu 24.04+ (glibc 2.39), AppImage, .deb, or apt. macOS 14+ recommended: universal .app. Windows 11 64-bit: NSIS setup. Windows bundles Kubo only; catalog reads use the Torrentech replica |
Browser + Ethereum web wallet add-on |
| Wallet | In-app. Create or import. Password stays on this device (minimum 8 characters) | Injected web wallet on Arbitrum One |
| Browse, search, tag filter | Yes | Yes |
Pay TTT and download .tar / .zip |
Yes. The button shows the live cost (default 2 TTT, burned) | Yes, same burn |
| Free download | Yes. One use per wallet per cooldown (default 7 days), across every album | No |
| Download and Pin / upload | Yes, after the local IPFS line is up. See the pin and upload tutorial | No |
| Comments and votes | Threads display. Post, edit, delete, and Good/Bad need the desktop Ceramic sign-in | Threads display. Post / Good / Bad can still appear after wallet connect; those writes fail without the desktop sign-in |
| Profile (nickname, avatar, Matrix, email, Peer ID) | Profile in the session bar | No edit control |
Browsing and searching are free. TTT is spent only when you pay for a format. Holding TTT is a separate gate for comments, votes, and profile changes (see below). A little ETH on Arbitrum One pays gas for those transactions.
1. Install the desktop app
Download from downloads/latest.
Each folder also has SHA256SUMS. latest.json is the manifest the in-app version check reads.
The shorter page with the download buttons is Get the app.
| Platform | File |
|---|---|
| Linux AppImage | Torrentech-linux-x86_64.AppImage |
| Linux package | Torrentech-linux-amd64.deb |
| macOS | Torrentech-macos.zip (universal: Apple Silicon and Intel) |
| Windows | Torrentech-windows-x86_64-setup.exe |
Linux AppImage
chmod +x Torrentech-linux-x86_64.AppImage
./Torrentech-linux-x86_64.AppImage
Linux .deb
sudo dpkg -i Torrentech-linux-amd64.deb
sudo apt-get install -f
The second command fills WebKitGTK dependencies if dpkg stopped on them.
Linux apt
After the archive keyring is published:
curl -fsSL -o torrentech-archive-keyring.deb \
https://www.torrentech.org/downloads/apt/torrentech-archive-keyring.deb
sudo dpkg -i torrentech-archive-keyring.deb
sudo apt update
sudo apt install torrentech
macOS. Unzip Torrentech-macos.zip and drag Torrentech.app into /Applications. The apps page carries the note for an unsigned build.
Windows. Run Torrentech-windows-x86_64-setup.exe. The installer bundles Kubo. Ceramic is not a sidecar on Windows; catalog reads stay on the Torrentech replica.
You do not install a browser wallet, configure browser CORS, or run a separate IPFS Desktop for normal desktop use. Kubo starts with the app. The web catalog is the client that needs the browser wallet.
Updates
The version under the logo (vX.Y.Z) compares this build with
latest.json.
A newer published build offers a download link for your OS. There is no auto-updater: install the new AppImage, .deb, .app, or setup yourself. A build newer than the published manifest reports itself as current.
Copy diagnostic report sits in that same version panel. It copies an in-memory ring (last 50 errors, redacted), plus version, chain, gateway, and cache schema, and tails sidecar logs from the app log directory. Nothing leaves the app unless you paste it.
2. Create or import the in-app wallet
First launch opens Create wallet. Pick Create or Import.
- Set a Password and Confirm password. The hint on the dialog: the password encrypts the wallet on this device (minimum 8 characters).
- Create wallet shows Back up recovery phrase. Write the phrase down and store it offline. Anyone with it can control the wallet. It is not shown again. Check I have backed up the recovery phrase, then Continue.
- Import accepts a Phrase or a Private key, then the same device password.
The wallet is on Arbitrum One. sign in uses that in-app wallet and starts the Ceramic session the desktop uses for comments, votes, and profile writes.
Later:
- Disconnect locks the in-app wallet and ends the session. Current builds have no idle auto-lock. Unlock again with the device password. A locked session shows Wallet locked and an unlock field.
- Use a different wallet asks for this wallet’s password and removes it from the device. Export the recovery phrase first if you might need it again.
- Profile → Confirm signatures in a dialog is off by default. When it is on, each in-app signature asks for OK or Cancel. Sends always show Confirm wallet action (OK or Cancel) on top of any other dialog, whether that preference is on or off.
3. TTT and gas
- ETH on Arbitrum One pays gas (pay, free download, comment and vote authorization, profile saves that change nickname or avatar).
- TTT is the catalog token. Pay
<cost>TTT burns that amount for one format. The button text is the live cost; the default is 2 TTT. Contract details are on the tokenomics page. - Holding TTT is what comments, votes, nicknames, and avatars check. Those actions do not spend the TTT. The release page states the live threshold (“will not be spent” / “held, not spent”).
You can receive TTT the same way as any Arbitrum One token: from someone who already holds it, or later from pin rewards if you follow the pin and upload tutorial.
4. Web catalog
- Open app.torrentech.org.
- If the page says Ethereum web wallet add-on required, install one and reload.
- Connect Ethereum web wallet add-on on Arbitrum One.
- Pay, then download. Free download, Download and Pin, upload, and Profile are desktop-only.
Comment and vote threads are visible. Wallet connect on the web does not create the Ceramic sign-in, so Post comment, Good, and Bad can still be on screen and then fail. The short web page is Web download.
5. The releases list
The top navigation is releases. After sign-in on desktop you also get upload and my pending uploads (those are the pinner path).
The list columns are Artist, Album, Label, Year, Month, Day, then tag columns Genre, Format, Source, and Descriptive.
Search (the box in the release-list controls) filters the whole published catalog. Press Enter. Every word must appear somewhere in that release’s artist, album name, label, weblink, remark, year, month, day, tags, or the release’s current tracklist. Track titles match once those details have loaded, and a search already on screen updates when they do. A pair of quotes wrapped around the whole query is ignored. The stream id is also matched, which is useful when someone pastes one.
Filter opens tag checkboxes grouped the same way (Genre, Format, Source, Descriptive). Several tags are combined with AND: the release must have each selected tag. The button shows the count. clear drops them. The hint beside Filter says to use CTRL-F for a quick search on this page.
Find in this page (Ctrl+F, or Cmd+F on macOS) highlights text in the rows currently on screen and leaves the other rows in place. It reads the visible cells (artist, album, label, dates, tags). It does not search tracklists, remarks, or weblinks. The bar lists Enter / F3 next · Shift+Enter previous · Esc close, plus prev, next, and close.
Other list controls:
- Previous / next, and Left / Right arrow when focus is not in a field and no dialog is open.
- page · pages · releases, Go to + go, and Per page (10, 20, 50, 100, 200).
- refresh reloads the list from the network. The status line can say it is refreshing, that the last refresh failed, that you are seeing a local snapshot, or that the list refreshed.
Opening a row shows the release: status when it is not a normal published row, cover, weblink, tags, tracklist, formats, comments, and the Good/Bad vote under the cover (or in that slot when there is no cover).
6. Unlock and download a format
Each published format row shows the format name, size, how many pins are listed, and who originally pinned it when that profile is known. A format still in review shows pending and awaiting approval and has no download buttons.
Connect wallet to download is the row text until a wallet is connected.
For a gated format that this wallet has not unlocked:
- Pay
<cost>TTT — desktop and web. Burns TTT. The button shows Paying… while the transaction is in flight. A disabled button’s tooltip is the reason (balance, unregistered content, or another download already running). - Free download — desktop only. Tooltip: “One free download per wallet, across every release — not per album.” The cooldown is global for the wallet (default 7 days, read from the contract). One free download locks free for every album until it elapses. The button can show a remaining time such as
3d 4h. If this wallet already has access to that format, the app reveals the files and does not send another free download, so a second click on an already unlocked format does not restart the cooldown. Staff and moderators also see Staff download (unlimited staff access for review). That button is not the free-download cooldown.
While unlock is confirming you may see Unlock confirmed. Access is propagating… and Retry access. After access is granted the row switches to download actions.
| Button | Where | What it does |
|---|---|---|
| Download .tar | Desktop and web | Builds a .tar of the album. The button reads Building .tar… while it runs |
| .zip | Desktop and web | Same, as a zip. Label on the button is .zip; busy state is Building .zip… |
| Download and Pin | Desktop, and only when the local IPFS daemon is reachable | Pins the release on your node and saves the files under a folder you pick. See the pin and upload tutorial. Admins on a catalog-owned copy see Download to folder instead |
| Open in IPFS | Desktop | Opens the content through the local IPFS app handler |
| Open using IPFS gateway | Desktop and web | Opens the unlocked files through the gateway |
| Gateway .tar | Desktop and web | Gateway archive of the same files |
Download and Pin is optional. .tar and .zip are enough for a one-off copy.
7. Comments and votes
Both are public to read on desktop and on the web. Writing them needs the desktop app, a signed-in Ceramic session, and the live TTT hold for that action. The numbers below are the Solidity defaults. The line on the release is whatever the contract returns now.
Comments
- Section label Comments. Empty state: No comments yet.
- “Posting requires
<n>TTT in wallet (will not be spent).” Default 10 TTT held, and 20 comments per period. The period is 1 day on Arbitrum One. - Post comment. Body maximum 2048 characters. The counter under the box is
length/2048. Placeholder: “Write a comment...”. Success: “Your comment was posted.” - Threads are a flat list, oldest first. There are no replies. An edited comment is marked edited.
- The author can Edit or Delete. Each of those uses another comment slot in the same period, the same gate as posting. Delete success: “Comment deleted.”
- A moderator can Delete someone else’s comment. That hide does not spend the moderator’s comment allowance.
- If the gate fails, the page says commenting is unavailable (balance threshold or rate limit), or “Insufficient balance for commenting threshold.”
Votes
- VOTE, with a good/bad split, a percent, and a bar.
- Good and Bad. The current choice stays pressed. Choosing the other one updates that same vote.
- “
<n>TTT held, not spent.” Default 5 TTT held, and 50 votes per period (1 day on Arbitrum One). - Create and change each use another vote slot in the period.
- Failures: “Voting not available right now (balance threshold or rate limit).” or “Insufficient balance for voting threshold.”
On the web, the same controls can show after you connect a wallet. Posting and voting still need the desktop Ceramic session.
8. Profile (desktop)
Profile in the session bar opens Edit profile. The chip next to it shows the nickname when this wallet owns that profile, otherwise a short form of the address. Role badges are User, Moderator, or Admin after the role check finishes.
| Field | Notes |
|---|---|
| Nickname | Unique in the app. Stored with the casing you type (maximum 128 characters). Uniqueness compares lowercased, trimmed names. A later profile that copies a name is shown without that nickname |
| Avatar image | Image file. Shown on the chip, the dialog, release owners, comments, and pinner rows |
| Matrix | Placeholder @user:matrix.org (maximum 255 characters). Optional contact for staff |
| Optional (maximum 255 characters). Same use | |
| IPFS Peer ID | Separate from Save. See the pin and upload tutorial |
| Confirm signatures in a dialog | Desktop preference. Off by default. Sends always confirm |
Save writes nickname, avatar, Matrix, and email. Changing the nickname needs the username gate (default 20 TTT held and 1 change per period). Changing the avatar needs the avatar gate (same default, counted separately). Saving the same nickname, or a wallet-only update, skips those authorizations. The period is 1 day on Arbitrum One. The web catalog does not render Profile.
9. Footer status
The footer is a grid: Ceramic and IPFS, each split into Torrentech and This machine.
- Ceramic / Torrentech shows
writesonce you are signed in. Catalog writes go to the hosted node. - Ceramic / This machine shows
reads syncedwhen the local replica can serve the catalog (Linux and macOS). Until then it can showcatching uporstale, andreadsstays on Torrentech. The catalog you are looking at is still the hosted one. Windows has no Ceramic sidecar, so this cell does not become a local catalog. - IPFS / This machine shows a peer count when the bundled Kubo is up (
1 peer,12 peers, …) ordownwhen it is not. The library path is on that cell (default~/Torrentech) with change. Torrentech Test builds use~/Torrentech-testand a different local API; pin rewards on the public catalog use the production app. - For a normal user the IPFS / Torrentech cell is blank. Admins see
catalogthere because their IPFS calls go through the staff proxy.
A fresh Linux or macOS install often sits on catching up for a while. That is the replica filling in. It is not an empty catalog. First open of a release can still paint No content files while the hosted catalog already has the files; reopen the release or wait until This machine finishes the check.
10. After a download
A .tar or .zip is a local archive. It is not a pin, and it does not earn TTT. Keeping a durable IPFS copy and earning pin rewards is the pin and upload tutorial. You can start that later. Nothing in this guide has to be undone.
Getting help
Moderators and admins can contact a release owner through Blockscan Chat (wallet to wallet). From the moderation queue they open the owner’s address and can copy a suggested message. Use a wallet you actually watch, or set Matrix and Email on Profile, so that message has somewhere to land. The public room is #torrentech:matrix.org.
Troubleshooting
- “Local IPFS node not reachable — downloads won't be pinned.” The Kubo sidecar is down.
.tarand.zipthrough the gateway still work. Quit from the tray and relaunch so the sidecar starts. The IPFS This machine cell should show peers before you rely on Download and Pin. - Empty list, or Ceramic this-machine says
catching up. Reads stay on Torrentech until the local replica has the catalog models. The hosted catalog is still the one on screen. Wait for the footer check to finish. - Details says No content files while this-machine is catching up or stale. The hosted catalog can already have the files. Reopen the release after that check, or wait. The first empty paint is not “missing on the network.”
- “Free download is on cooldown for this wallet.” That wallet already used its free download inside the current window. Pay TTT, or wait until the cooldown elapses. Another album does not get its own timer.
- Comment or vote write failed on the web. Connect and sign in on the desktop app. The web wallet session does not post.
- Pay button stays disabled. The tooltip is the reason: not enough TTT, content not registered, or another unlock still running. Gas still needs a little ETH on Arbitrum One.
- IPFS or Ceramic status errors. Quit from the tray and relaunch.