Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
FreeBank's phone page and relay: use your FreeBank desktop wallet from your phone's browser
FinanceTypeScript · SvelteGitHub @mbdrivechainsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Use your FreeBank desktop wallet from your phone's browser. This repository has:
• phone/: the web page your phone opens, served at https://app.ecxfreebank.com (Svelte 4, Vite 5, TypeScript;
WebCrypto only, no crypto libraries);
• relay/: the relay that passes sealed messages between your phone and your desktop (Rust, axum), and
relay/PROTOCOL.md, the protocol both ends speak;
• test vectors for both ends (relay/testvectors/), with independent checks in Python.
The desktop side is in the FreeBank app: mbdrivechains/freebank-app
(src-tauri/src/phone/).
What the relay can and can't doRead the full README ↗Use your FreeBank desktop wallet from your phone's browser. This repository has:
phone/: the web page your phone opens, served at https://app.ecxfreebank.com (Svelte 4, Vite 5, TypeScript;
WebCrypto only, no crypto libraries);relay/: the relay that passes sealed messages between your phone and your desktop (Rust, axum), and
relay/PROTOCOL.md, the protocol both ends speak;relay/testvectors/), with independent checks in Python.The desktop side is in the FreeBank app: mbdrivechains/freebank-app
(src-tauri/src/phone/).
relay/SECURITY_REVIEW.md, P2).The page builds byte for byte the same. With Node 18 (checked with 18.19.1):
git clone https://github.com/mbdrivechains/freebank-phone
cd freebank-phone/phone
npm ci
npm run build
(cd dist && find . -type f | sort | xargs sha256sum)
Then fetch the same files from app.ecxfreebank.com and hash them:
mkdir live && cd live
for f in $(cd ../dist && find . -type f | sed 's|^\./||'); do
mkdir -p "$(dirname "$f")"; curl -sf -o "$f" "https://app.ecxfreebank.com/$f"
done
find . -type f | sort | xargs sha256sum
Every file of your build is fetched by its path, including the QR code reader (assets/jsQR-….js), which the page
loads only when Scan is tapped, so index.html doesn't name it. The two lists must be the same files with the same
hashes. If they differ, please report it (Security, below).
Each commit here names the build of app.ecxfreebank.com it matches; the newest commit is the live one.
The relay's own binary isn't reproducible yet. It never sees your keys or what you send, but it does serve the page, which is why the check above matters.
phone/README.md (npm ci, npm test, npm run build, end-to-end tests in WebKit,
Chromium and Firefox).relay/README.md (cargo build --release, cargo test, its options and limits).relay/deploy/.Please report problems privately, through GitHub's private vulnerability reporting on this repository (Security,
then Report a vulnerability). See SECURITY.md. The security review of the relay and the page is
relay/SECURITY_REVIEW.md.
FreeBank is experimental, pre-audit software.
MIT; see LICENSE.