No description
Find a file
Parth d254a99146
feat(orderbook): offer summary (#1164)
* chore(orderbook): use Balance component in market summary

- Replace raw .toLocaleString() sats values with Balance component
  for median abs fee, total liquidity, and offer size range
- Update i18n keys to label-only format for Balance-rendered fields
- Balance respects user display preferences (BTC/sats, visibility)

* feat(orderbook): add fee distribution chart to market summary

- Add OrderbookChart component rendering pure CSS bar chart for absolute offers
- Follows existing EarnReportChart pattern (no external chart libraries)
- Update OrderbookContent to display the chart below the stats list
- Add i18n keys for chart title and tooltip with pluralization

* fix(orderbook): count unbonded makers and move chart behind tabs

---------

Co-authored-by: Saurabh Singh <saurabhsraghuvanshi@gmail.com>
2026-03-26 01:17:21 +05:30
.github chore: add github PR template (#1067) 2026-02-16 00:26:58 +05:30
.husky build(deps): update husky to v9.1.7 2025-11-21 15:18:40 +01:00
.storybook chore: prepare balance component 2026-02-14 23:34:22 +01:00
.tx feat: initialize i18n with translations 2025-06-28 02:19:14 +05:30
docker/regtest dev(regtest): demo cookie file auth config param 2025-09-05 23:23:43 +02:00
docs chore: inital send form draft [wip] 2026-01-24 12:19:10 +01:00
public add V2 settings page 2025-08-07 16:53:34 +05:30
scripts chore(lint): partly enable unicorn/prevent-abbreviations 2026-02-07 11:42:34 +01:00
src feat(orderbook): offer summary (#1164) 2026-03-26 01:17:21 +05:30
.env chore: add theme env var 2026-01-24 16:35:33 +01:00
.env.development refactor: move websocket constants 2026-01-13 01:26:22 +01:00
.gitignore chore(lint): ignore build output directory (#1045) 2026-02-12 15:04:42 +05:30
.npmrc chore(build): min node version is 24.11.1 2025-11-16 13:38:38 +01:00
.nvmrc chore(build): min node version is 24.11.1 2025-11-16 13:38:38 +01:00
.prettierignore chore(lint): ignore build output directory (#1045) 2026-02-12 15:04:42 +05:30
.prettierrc.json chore(prettier): add prettierrc file and import sorting 2025-06-21 19:37:46 +05:30
CHANGELOG.md initialize Jam V2 2025-06-20 01:19:54 +05:30
components.json initialize Jam V2 2025-06-20 01:19:54 +05:30
CONTRIBUTING.md chore: update ui and add proper copy message And update contribution guide (#1024) 2026-02-07 11:39:34 +01:00
eslint.config.js chore(ui): add address display chunking (#1163) 2026-03-13 14:56:15 +01:00
index.html chore: add favicon 2025-06-21 16:13:37 +02:00
LICENSE Add MIT license and update package info 2021-12-22 16:06:25 +01:00
package-lock.json chore(import): prepare rescan by splitting import flow steps (#1168) 2026-03-23 19:41:20 +01:00
package.json chore(import): prepare rescan by splitting import flow steps (#1168) 2026-03-23 19:41:20 +01:00
README.md initialize Jam V2 2025-06-20 01:19:54 +05:30
tsconfig.app.json chore: enable eslint recommendedTypeChecked 2026-02-07 11:56:58 +01:00
tsconfig.json initialize Jam V2 2025-06-20 01:19:54 +05:30
tsconfig.node.json chore: enable eslint recommendedTypeChecked 2026-02-07 11:56:58 +01:00
vite.config.ts chore: test for Balance component and align currency symbols (#1091) 2026-02-16 15:50:31 +01:00
vitest.setup.ts chore: test for Balance component and align currency symbols (#1091) 2026-02-16 15:50:31 +01:00
vitest.shims.d.ts chore: test for Balance component and align currency symbols (#1091) 2026-02-16 15:50:31 +01:00

Jam: Your sats. Your privacy. Your profit. Jam: Your sats. Your privacy. Your profit.

⚠️ Jam is beta software. Use with caution. ⚠️

Installation · Features · Contribute · Development


Jam is a web interface for JoinMarket focusing on user-friendliness and ease-of-use. It aims to provide sensible defaults and be easy to use for beginners while still having the features advanced users expect.

📸

Jam Screenshot Jam Screenshot

📦 Installation

We're aiming to make Jam available for different node systems to make installation as painless as possible. If your node system of choice is missing, feel free to integrate it and let us know so we can add it here.

RaspiBlitz LogoRaspiBlitz Logo Umbrel Logo Citadel Logo MyNode Logo Start9 Logo RaspiBolt Logo
RaspiBlitz: v1.7.2* Umbrel: v0.4.15 Citadel: v0.0.1 MyNode: v0.3.05 Start9: v0.3.3 RaspiBolt: v3

Refer to the installation docs for more information on integrations as well as manual installation instructions.

🍊 Features

  • Spending from the wallet
  • Spending from the wallet via collaborative transactions
  • Running the yield generator
  • Scheduled transactions
  • Viewing the orderbook
  • Support for fidelity bonds
  • PayJoin support

Refer to the milestones for a rough roadmap. Feature requests are tracked as issues.

🧑‍💻 Contribute

This is a free and open-source software project and we love receiving pull-requests, bug reports, ideas, and feedback from everyone.

There are many ways you can contribute: testing, sharing ideas, writing documentation, creating tutorials, and—of course—writing code. Refer to the general contribution guidelines to get started.

🛠️ Development

Want to get your hands dirty with code? Great! CONTRIBUTING.md and docs/developing.md are where it's at.

🏛️ History

This project builds upon the jm-web-client which was developed by Shobhitaa, Abhishek, and waxwing himself. Many people contributed over time, some of which are listed here.

Jam and JoinMarket are separate projects. For more information on JoinMarket, see the JoinMarket GitHub Page.