# Portal BTC Wallet

<p align="center">
  <img src="static/favicon.png" width="128" />
</p>

<h3 align="center">Your portal to everything Bitcoin</h3>

Portal is a self-custodial web wallet for Bitcoiners who want to use Bitcoin, including lightning, liquid and cashu but don't want to run their own Lightning node.

It's built for simplicity, speed, and interoperability, giving you the tools to use Bitcoin on your own terms.

It's a Progressive Web App (PWA), which means you can "install" it on your phone or desktop for a native-like experience without going through an app store.

## What can it do?

- **Go Beyond the Main Chain**: Portal supports multiple Bitcoin layers in one interface.
  - **Liquid Network**: Make fast, confidential transactions using Bitcoin's most mature sidechain. Powered by the Breez SDK.
  - **Cashu**: Experiment with truly private, Chaumian e-cash for small, anonymous payments.
- **Get Your Own Lightning Address**: Stop messing with invoices. Get a clean, reusable Lightning address (e.g., `you@portalbtc.live`) for easy payments via LNURL.
- **Connect to Nostr, Safely**: Use Nostr Wallet Connect (NWC) to interact with other Nostr apps without ever exposing your private keys.
- **You're in Control**: This is a self-custodial wallet. Your keys, your coins.

## How It's Built

Portal is built on a modern, open-source stack. We believe in transparency, so you can always see how it works under the hood.

- **Framework**: [SvelteKit](https://kit.svelte.dev/)
- **Bitcoin/Lightning**: [Breez SDK (Liquid)](https://breez.technology/), [cashu-ts](https://github.com/cashubtc/cashu-ts)
- **Nostr**: [nostr-tools](https://github.com/nostr-protocol/nostr-tools)
- **Database**: [Turso / libsql](https://turso.tech/)
- **UI**: Svelte 5

## Run it Yourself

Want to hack on Portal or run your own instance? It's easy.

**You'll need:**
- [Bun](https://bun.sh/)

**Steps:**
1.  Clone the repository:

```sh
git clone ssh://git@git.arx-ccn.com:222/Arx/PortalBTC.git
```
2.  Jump into the directory and install packages:

```sh
cd portal-btc-wallet && bun install
```

3.  Start the local development server:

```sh
bun run dev
```

You should now be able to see it running at `http://localhost:5173`.
