Language

Choose a language

/wallet

TensorCash Core.

A Qt-based desktop wallet for the TensorCash chain — descended from Bitcoin Core, with native-asset support and an embedded JSON-RPC console. Build it yourself from the public source tree (with Docker, or natively), or pick up a benefactor-published convenience binary below.

Build from source

The canonical artefact is the source tree at services/core-node/bcore/. The Qt wallet builds from the same CMake target as the headless daemon — pass -DBUILD_GUI=ON at configure time. Two routes: a Dockerfile that builds the entire stack (easiest, sandboxed), or native dependencies on your host (faster iteration, smaller image footprint).

Path 1 · Docker (recommended)

The repository ships a multi-stage Dockerfile that builds the cosign-bridge Rust binary, the ChiaVDF Python wheel, and the full bcore daemon + Qt wallet in one shot. You only need Docker installed on the host. The container also includes Tor for hidden-service networking and a VNC server so you can run the GUI inside the container if you want.

Dockerfile: services/core-node/tor.Dockerfile

git clone --recurse-submodules https://github.com/tensorcash/tensorcash.git
cd tensorcash

docker build \
  -f services/core-node/tor.Dockerfile \
  -t tensorcash-core:dev \
  .

After build, run the container exposing the wallet's RPC port and (optionally) VNC for GUI access:

# Headless daemon, RPC reachable on host:18332.
docker run --rm -p 18332:18332 \
  -v $HOME/.tensorcash-data:/data \
  tensorcash-core:dev

# With the Qt GUI exposed via VNC on host:5900 (default password in the
# container's vnc.sh — change before any non-localhost binding).
docker run --rm -p 5900:5900 -p 18332:18332 \
  -v $HOME/.tensorcash-data:/data \
  tensorcash-core:dev

Path 2 · Native build

Use this if you want native binaries on your host without a container. Tested on macOS 13+ (arm64 / x86_64) and Ubuntu / Debian; Fedora and Arch are documented inside the bcore submodule's doc/build-unix.md.

Clone

git clone --recurse-submodules https://github.com/tensorcash/tensorcash.git
cd tensorcash/services/core-node/bcore

Install dependencies — macOS

Xcode Command Line Tools first, then Homebrew packages.

xcode-select --install   # if not already installed

brew install \
  cmake boost pkgconf libevent \
  qt@6 qrencode \
  zeromq \
  capnp                  # optional, only if you want -DENABLE_IPC=ON

Install dependencies — Linux (Ubuntu / Debian)

Same idea, different package manager. Fedora and Arch live in upstream doc/build-unix.md inside the repo.

sudo apt-get install -y \
  build-essential cmake pkgconf python3 \
  libevent-dev libboost-dev libsqlite3-dev libzmq3-dev \
  qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev \
  libqrencode-dev

Install dependencies — Windows (cross-compile)

Native Windows builds go through MSVC (see doc/build-windows-msvc.md). The faster path most contributors use is cross-compiling from a Linux host (or WSL) using the Mingw-w64 toolchain plus the bundled depends system. NSIS is needed only for the .exe installer target.

# On a Linux host (or WSL inside Windows):
sudo apt-get install -y g++-mingw-w64-x86-64-posix nsis

# Build the depends tree once.
gmake -C depends HOST=x86_64-w64-mingw32 -j$(nproc)

Configure + compile

On macOS / Linux the configure step is a single CMake invocation. On Windows pass the toolchain file generated by the depends tree.

# macOS / Linux
cmake -B build -DBUILD_GUI=ON
cmake --build build -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || nproc)

# Windows (cross-compile from Linux/WSL)
cmake -B build --toolchain depends/x86_64-w64-mingw32/toolchain.cmake -DBUILD_GUI=ON
cmake --build build -j$(nproc)
cmake --build build --target deploy   # produces the .exe installer via NSIS

Common configure flags: -DBUILD_GUI=ON (Qt wallet), -DENABLE_WALLET=OFF (chain-only node), -DWITH_ZMQ=ON (ZMQ pub/sub topics). Run cmake -B build -LH for the full list.

Build the cosign bridge

Cosign features in the wallet (paired-device signing, federated multisig) talk to a sidecar Rust binary called cosign-bridge over a local socket. The Docker path builds it automatically; for native builds you produce it with cargo:

# Rust 1.85+ required.
cd services/core-node/cosign-bridge
cargo build --release --bin cosign-bridge --bin cosign-local-relay
# Binaries land in target/release/. Run cosign-bridge alongside the wallet.

Run

The Qt wallet binary lands in build/bin/. First-run sync against mainnet takes hours and writes a multi-GB chainstate; for a quick smoke test, point it at a regtest datadir instead.

# Smoke test on a private chain — no real coins, no peers, no IBD.
build/bin/bitcoin-qt -regtest -datadir=$HOME/.tensorcash-regtest

# Production: starts initial block download against the live network.
build/bin/bitcoin-qt

See the regtest guide for the full local-development setup including mock validation and the TensorCash-specific RPCs.

Companion services

TensorCash Core is the wallet plus a small set of sidecar services it talks to. The Docker build above bundles all of them; if you build natively, this is what you'd assemble alongside the Qt binary depending on which features you want.

Service Source path What it does Needed for
cosign-bridge services/core-node/cosign-bridge/ Local Rust sidecar that handles cosign / federated-signing pairing (SPAKE2 + Noise over WebSocket). Fronts paired-device flows from the Qt wallet. Cosign features (multi-device signing, federated multisig)
ChiaVDF shared-utils/chiavdf/ Verifiable Delay Function used by chain validation. Built as a Python wheel during the daemon build. Validating any block (mainnet, testnet, or regtest)
core-node REST services/core-node/src/ Small REST surface alongside the JSON-RPC server. Exposes model metadata + node metrics. Provider integrations; the wallet itself does not need it
verification-api services/verification-api/ OSS verification service. The wallet does not call it directly — bcore does, when -validationapi=real. Real (non-mock) block validation in production
miner-api services/miner-api/ Bridges between the chain and the inference engine (llama.cpp / vLLM). Producer of the inference proof that becomes part of a block. Mining (serving inference + producing blocks)

Benefactor binaries

Building from source is the canonical path. As a convenience, community benefactors publish their own builds of the same source tree. The project does not produce, sign, or distribute binaries — these are independent third-party publications, listed here for discovery only. Verify any benefactor build against your own from-source build, or cross-reference between benefactors.

Benefactor Platforms PGP key Notes
TensorCash macOS (arm64, x86_64) · Linux (x86_64) · Windows (x86_64) pending Builds from the public source tree. Each release ships a SHA-256 manifest and a detached PGP signature alongside the binaries.

To be listed as a benefactor: build from a tagged source release, publish a SHA-256 manifest of your artefacts and a detached PGP signature, and open a pull request adding a row to this table.

Verifying a benefactor build

Two checks. The first ties the benefactor's claim to the binary you downloaded; the second ties the binary to the source.

Hash + signature

Every benefactor publishes a SHA256SUMS file and a detached SHA256SUMS.asc signature. Confirm that the file you downloaded matches the manifest, and that the manifest is signed by the benefactor's published PGP key.

# 1. Manifest matches the binary you have on disk.
shasum -a 256 -c SHA256SUMS --ignore-missing

# 2. Manifest is signed by the benefactor's key.
gpg --verify SHA256SUMS.asc SHA256SUMS

Cross-reference

A single benefactor's signature only proves they vouch for the binary — not that the binary matches the source. Two ways to close that gap: build from source yourself and compare hashes, or compare against a second benefactor's manifest for the same release tag. When two or more independent builders publish identical SHA-256s for the same artefact, you have evidence that the build is reproducible from public source.

Where next

  • regtest guide — local-development sandbox with mock validation, model-registration and asset-issuance walkthroughs.
  • JSON-RPC reference — the embedded console in the wallet speaks every method on this reference.
  • Get involved — every other way to participate: institutions, providers, developers, verifiers, researchers.

Our mission

TensorCash turns useful AI work into open money.

Out of the potato age, as our whitepaper says…

We believe people deserve a cheaper, more efficient financial system, and fairer AI that works for everyone. TensorCash makes AI work verified and verifiable. Verification gives AI a face: proof of which model did the work, what it saw, and the rules it followed. That lets anyone confidently buy or sell AI work at the most efficient price. The result is more accessible, more sustainable AI, powering a new generation of financial systems. Today's currencies are the potatoes: antiquated, expensive to move, and trapped behind fee-takers. TensorCash is a more efficient way to move and store value — one that harnesses AI's computational power for everyone while pushing the control outward instead of concentrating it.

— Imosuke Takakuni

About us

Imosuke Takakuni is a pseudonym. The Japanese name is both a tribute to Satoshi Nakamoto and a nod to Potato Land — the parable from our whitepaper. The mission is bigger than any one contributor; it should outlast personalities and charisma. Decentralisation works for everyone, or it doesn't work at all. We want everyone to participate in TensorCash as equals.

Open the mission page →

Get involved

How to get TSC

TensorCash is not selling TSC. The project is not running a token sale, pre-sale, ICO, IDO, or official investment round. New TSC enters circulation through active mining. You can mine it, receive it peer-to-peer from someone who already has it, or run the wallet and be ready for mainnet.

TensorCash is not running an official sale. Do not send money to anyone claiming to sell official allocations.

Get involved

Run the Core wallet

The practical first step is to run TensorCash Core, create a wallet, and learn the RPC surface. Today the public guide starts with regtest so you can create addresses and move coins locally before touching mainnet funds.

Get involved

Donate

No mainnet donation address is published yet. For testing only, the TensorCash testnet address below was generated from the running Core wallet; do not send mainnet funds to it.

Get involved

Spread the word

The shortest useful explanation is: TensorCash turns useful AI work into open money. Share the mission page, the flagship whitepaper, or the Get involved page with one person who cares about cheaper financial rails, fairer AI, or open infrastructure.

TensorCash turns useful AI work into open money.

Get involved

Emission schedule

Bitcoin set the baseline: block rewards only, no discretionary minting, and an exact integer subsidy total of 20,999,999.97690000 BTC. TensorCash keeps the fixed-supply discipline and changes the release curve for a compute-mined network; the implemented recurrence ends at 21,184,153.03530240 TSC.

Supply over blocks

Total subsidy issued

Exact integer subsidy rules from Core: Bitcoin halvings against the TensorCash epoch-decay schedule, shown through the first 6,000,000 blocks.

Horizon
...
BTC @ 6M
...
TSC @ 6M
...
BTC and TSC total subsidy over block count At 6,000,000 blocks, Bitcoin has issued 20,999,999.92710000 BTC and TensorCash has issued 20,979,987.36365355 TSC under the implemented epoch-decay schedule.
Block 0
BTC supply 0 BTC
TSC supply 0 TSC
BTC: 50 BTC, 210,000-block halvings TSC: 715 TSC, 715-block epoch, reward x 3/5, capped epoch length