-
Morphit v1.0.0-beta.46
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 39smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 31smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 20m34smorphit-release / Build + publish release tarball (push) Successful in 21m20sreleased this
2026-07-04 06:49:07 +00:00 | 79 commits to main since this releaseA large privacy, correctness, and polish release rolling up several batches of
work on top of beta.45. Two changes stand out. First, your browser no longer
talks to any third-party Blurt node — every chain read and write now goes
through your own Morphit instance, so outside node operators never see your IP
or what you're doing. Second, paying a listing fee in Blurt now works — it
was being rejected by the chain before, and that's fixed. Alongside those,
federated operators now earn their share of Blurt listing fees directly at the
moment of each order, the home and orderbook pages are far more discoverable,
and the orderbook, explorer, chat, post, and onboarding screens all get a round
of fixes. Recommended for all operators.Added
-
Independent payment verification. When someone pays you in Blurt inside
chat, the confirmation now offers an optional "Verify on block explorer" link.
It opens an independent, third-party Blurt explorer so a cautious seller can
confirm a payment landed on-chain without having to trust the instance
operator. It's opt-in (opening it reveals your IP to that explorer, by your
choice), so it stays off unless you use it. -
Search inside an order's details. The orderbook gains an "Order details"
search box that filters the listings you're viewing by the free text sellers
write in their terms — in any language or script — and highlights the words
you searched for. It's an instant, on-page filter, so it never triggers a new
network request. -
Clearer transaction data in the explorer. The block explorer's
transaction view now pretty-prints structured data that used to appear as one
long escaped line, making Morphit operations much easier to read.
Changed
-
Your browser never contacts a Blurt node directly. Previously a few
actions — broadcasting a signed transaction, checking a payment, verifying a
chat identity, and the settings page's node-health card — reached out to
public Blurt nodes straight from your browser, which leaked your IP and your
activity to operators Morphit doesn't control. All of that now routes through
your own instance instead. The single deliberate exception is release
verification, which stays direct on purpose: it's an anti-tamper check, and it
would be meaningless if it trusted the very instance it's meant to verify. For
the same reason, the new "Verify on block explorer" link above lets you
independently confirm a large Blurt payment yourself. -
Federated operators earn their Blurt listing-fee share directly. When a
buyer pays a listing fee in Blurt, the payment now splits at that moment — the
operator of the instance receives their 90% into the account they've
configured, and 10% goes to the canonical Morphit treasury, all in a single
transaction. (On the canonical instance, or when an operator hasn't set a
valid account, it simply collects as one payment to the treasury.) This
replaces the older forwarded-payout mechanism, which only settled correctly
when one party ran both the treasury and the relay. Fees paid in BTC or XMR
continue to go entirely to the canonical accounts. -
Much better discoverability. The home and orderbook pages have rewritten
titles, descriptions, and keywords aimed at what people actually search for
now that LocalMonero, LocalBitcoins, AgoraDesk, and Paxful have all shut
down — a no-KYC, peer-to-peer, over-the-counter way to buy and sell Monero and
Bitcoin. All of it is fully translated into every supported language. -
The Blurt listing-fee step reads more clearly. The wording on the post
page around paying in Blurt, the Monero fee hint (which now reminds you to
include your payment proof), and the "posted by" summary shown while you sign
are all tidied up, and the account-password prompt now names the account
you're signed in as. -
Onboarding, chat, and settings polish. The import tabs are readable
against their background, the YubiKey enrollment form is centered, chat's
send button lines up with the composer, a one-time "Chat Security" reminder
dot is easier to notice, and the node-health card in settings explains in
plain language that your instance handles all Blurt traffic for you.
Fixed
-
Paying a listing fee in Blurt no longer fails. A Blurt-paid order, feature
bid, or stranger-message fee was being rejected by the chain because the
order and its fee payment were signed at two different permission levels in a
single transaction, which Blurt doesn't allow. Orders, bids, and fees paid in
Blurt now go through correctly, while paths that don't pay a Blurt fee are
unchanged. If you'd previously only tested with BTC/XMR fees or the first-buy
waiver, Blurt-fee orders will now work. -
No more red flash on the orderbook. A brief "indexer unreachable" error
card could flash on the orderbook while the first data loaded and then vanish.
That transient flash is gone; a genuine, lasting connection problem still
shows — now as a calm, non-alarming notice with a retry. -
A clearer message when your browser blocks web push. If notifications
can't be enabled because a privacy browser or an ad/tracker blocker is
blocking web push (a common situation with Brave Shields or uBlock Origin),
the app now says so plainly instead of suggesting you simply try again. -
A stray autofill highlight and a couple of small layout issues on the post
and settings pages are corrected.
Morphit is non-custodial and no-KYC: it never holds your funds and never asks
for identity documents. This is beta software under active development — please
report anything that looks wrong.Downloads
-
-
Morphit v1.0.0-beta.45
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 40smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 20m24smorphit-release / Build + publish release tarball (push) Successful in 21m12sreleased this
2026-07-03 18:24:29 +00:00 | 80 commits to main since this releaseA usability and correctness release on top of beta.44. The headline is a
much simpler sign-in for people who bring an existing Blurt account: the
posting-key import no longer asks you to type your username — Morphit
detects it from your key. Alongside that, order terms now support light
formatting, there's a public network-statistics page, operators can
auto-generate an I2P address for their node, and a confusing listing-fee
error is fixed. The rest is chat, post-page, and onboarding polish.
Recommended for all operators.Added
-
A public network-statistics page. A new
/v1/statsendpoint and a
human-readable stats page (linked from the footer) show network-wide
numbers at a glance, with a link to the raw JSON for anyone who wants
it. Times are shown in 24-hour UTC, consistent with the rest of the
site. -
One-click I2P for your node. Operators can now auto-generate an
I2Pb32.i2pdestination for their instance as part of setup, making
it easier to run Morphit as a censorship-resistant hidden service. The
Ansible role and the run-a-node docs cover the new option. -
Formatting in listing terms. When you write the terms of an order
you can now use a small set of Markdown — headings, bold,
italics, bulleted and numbered lists, and horizontal rules — and it
renders cleanly on the order page. On the compact browse cards the
formatting is stripped to a single tidy line so the list stays scannable.
(Terms remain safe to display: the formatting is rendered without ever
turning attacker-supplied text into live code or clickable links beyond
the existing Blurt image-link support.)
Changed
-
Signing in with a posting key is simpler. You no longer type your
Blurt account name — Morphit detects it automatically from the key you
paste. The explanation on that screen is also clearer about what a
posting-key login does: you can read, post, and trade with others, but
you won't get the discounted Blurt listing-fee rate (paying the fee in
Blurt needs your active key, which a posting-key login doesn't carry —
pay in BTC/XMR, or sign in with your 12-word seed or Keyfile instead). -
The listing-fee step is clearer when you pay in Blurt. Paying the
fee in Blurt is a signed transfer that needs your active key, so the
post page now says so plainly, disables the Blurt option (with a short
explanation) when you're signed in with a posting-key-only session, and
keeps a summary of the order you're about to sign visible on the
password, posting, and error steps rather than showing a bare password
box. -
The "posted by" card on an order now matches the orderbook cards.
The poster's avatar, name, reputation, and trade count are shown
identically wherever you see them, so an order page and its card look
consistent. -
Chat action buttons only appear when there's a trade to act on. The
pay-now, share-address, and shipment buttons no longer show up in a
plain message opened from someone's profile — they appear only when the
conversation is tied to a live order, and they follow which side of the
trade you're on. -
Clearer FAQ. The "How do I buy crypto?" and "Can I trade goods and
services?" answers were rewritten with concrete step-by-step examples,
including trading physical goods and services for crypto. -
Onboarding and interface polish. Friendlier, plain-language titles
on the funds-sent and pay-in-Blurt dialogs; better contrast on chat
message bubbles; refined buttons on the settings screen; a short hover
delay on the asset tooltips so they don't flicker as you move across
the grid; a Clear button on the short-bio field; and proper app icons
for installing Morphit to a phone home screen.
Fixed
- A misleading "couldn't broadcast" error when posting. If you tried
to pay the listing fee in Blurt from a posting-key-only session, the
page used to report that the blockchain rejected your post — when in
fact the post never left your device, because that session has no
active key to sign the fee transfer. The message now explains the real
cause and points you to a fee method that works.
This is a beta release, published to the project's Forgejo instance at
git.agorise.net/agorise/morphit.
Morphit is AGPL-3.0 and non-custodial: it never holds or moves your
funds, and all signing happens in your browser.Downloads
-
-
Morphit v1.0.0-beta.44
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 33smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 20m26smorphit-release / Build + publish release tarball (push) Successful in 21m26sreleased this
2026-07-02 06:44:09 +00:00 | 82 commits to main since this releaseA big round of chat and trust improvements. The headline: you can now export any
conversation as a locked, court-ready PDF whose every message is anchored to the
blockchain — real recourse if a trade ever goes sideways. Chat also got noticeably
faster, the chat page was rebuilt to be clearer, traders now carry a reputation
score (not just a trade count), and dates everywhere are now unambiguous UTC.
Nothing about how trades or fees work has changed.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If
you're already signed in, your account, keys, and balances carry over untouched.
This release adds one new dependency — the jsPDF library that builds the chat
export — and it's fetched only at the moment you actually export a conversation, so
it costs nothing until you use it.Prove what was agreed — export a chat as a court-ready record
- One-tap, tamper-resistant export. Open a conversation's ⋯ menu and choose
"Export chat." Morphit builds a locked PDF (view / print / copy only — not
editable) containing every message, each with its UTC timestamp and its Blurt
transaction ID as a "Blockchain proof." - Anchored to the chain, not to trust in the file. Because each line cites its
on-chain transaction, anyone — a mediator, a small-claims court — can independently
re-verify it against the public blockchain. A plain-language page inside the PDF
explains exactly how. Editing a line would break the match. - Peace of mind. It can't force a dishonest counterparty to do the right thing,
but it replaces "he said / she said" with a permanent record built to hold up
outside Morphit. The export happens entirely on your device from your already-
decrypted messages — no plaintext ever leaves your browser.
A reputation score, not just a trade count
- A 0–5 score alongside the trade count. Each trader now shows two separate
signals: how much they've traded (the count) and how good that history is (a
0–5 reputation score). The score rewards sustained good behaviour and resists a
newcomer looking like a veteran off a single glowing review. - It can't be bought with volume. The score shrinks a thin rating toward neutral
and only grants an experience/recency bonus once the rating is already above
neutral — so a high-volume scammer stays low. As with the underlying rating, the
math is transparent: the public reputation endpoint returns the full breakdown so
anyone can re-derive the number.
Chat is faster and clearer
- Messages appear in seconds. New messages now show up in roughly 3–6 seconds
instead of waiting the ~45–60 seconds it used to take for the chain to finalize.
Nothing about the encryption or on-chain durability changed — you just see the
message sooner. - A rebuilt chat page. The header now reads "Chatting with" and shows your
counterparty's avatar, name, shortened posting key, and the order it's about (with
a link straight to that order). Each run of messages is labelled with the sender's
cryptographic identity, so you can confirm who you're talking to at every turn. - Tap a message for its exact time, in the same day-first UTC format used
everywhere else. - Action buttons that fit the trade. "Share address" and the payment button now
appear only when they apply to your side of the trade. "Mark funds sent" is now
"Pay now," and for a Blurt payment it's sent straight from the app — no copying a
transaction ID by hand. - Block moved into the menu. "Block / Unblock" is now a tidy option in the ⋯
menu instead of a standalone button. - Better on mobile. The composer and Send button sit on one line, the chat fills
the screen with the box always visible, and your own sent messages read correctly
when you come back to a conversation.
Placing and editing an order
- Cleaner order cards. Browse cards are a single tidy column: the reputation
score and trade count sit under the trader, the price model ("Fixed price" /
"Market rate") shows at a glance, and a stablecoin's network is shown as a compact
chip. The "Message" button stacks with the trader's name; the hide control tucks
into the corner. - The edit-order page actually saves now. Fields that can't be changed after
posting (side, asset, currency, network) are shown as a locked summary instead of
looking editable, so a change can't silently fail. The still-editable fields got
the same helpful hints as the posting form. - Selling reads like selling, and the post button reads "Pay and Post this order"
so it's clear the listing fee is part of the same step. "Cash machine with code"
(cardless ATM) is a selectable payment method.
Timestamps everywhere are now UTC
- One unambiguous format. Dates and times across the site — pages, the chat
export, everywhere — now read like "30 June, 2026 @ 16:45:18 UTC": day-first, the
month in your language, a 24-hour clock, a literal UTC label, and seconds. No more
guessing whose time zone a timestamp is in.
Fixes and polish across the app
- Fresh look. The interface font is now Comfortaa.
- Right controls on the right devices. "Sign in to another device" and "Use
phone instead" now appear only where they make sense (phone vs. desktop), including
on touch-screen laptops. - Explorer tidy-ups. Transaction pages now fill in their details instead of
showing placeholders; account pages round long balances on mobile with tap-to-
reveal and show a trader's custom avatar; the "tx:" / "block:" labels are readable
and only the ID itself is a link. - Homepage & navigation. The "Start trading" prompt no longer shows when you're
already signed in but locked; the language switcher sits neatly in the footer; a
logged-out "Message @username" click lands on sign-in, not onboarding.
Under the hood
- Hardened the PDF export. The chat export uses a current, advisory-free release
of its PDF engine (jsPDF 4.2.1) — chosen specifically so a court-facing document
isn't built on a component with known vulnerabilities. - Push-notification reliability. A malformed push key on an operator's instance
is now caught and reported, and push is disabled rather than failing silently. - Leaner pages. The heavy PDF and key-derivation code no longer loads on every
page — it's fetched only when needed.
Downloads
- One-tap, tamper-resistant export. Open a conversation's ⋯ menu and choose
-
Morphit v1.0.0-beta.43
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 40smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 33smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 20m13smorphit-release / Build + publish release tarball (push) Successful in 21m19sreleased this
2026-07-01 05:28:08 +00:00 | 83 commits to main since this releaseAnother broad round of polish across placing an order, the order and orderbook pages, your
own orders, chat, and feedback — plus one meaningful trust improvement: the person behind
an order now shows their cryptographic identity, not just a display name. Nothing about how
trades or fees work has changed.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.You can see who you're really dealing with
- A poster's cryptographic identity, shown up front. An order's detail page now prints
the poster's shortened public posting key directly under their display name. A display
name can be changed to imitate someone else; the posting key cannot. So if a would-be
impersonator picks a look-alike name, the key gives you a durable, on-chain identity to
check against — and a concrete reference point should a dispute ever arise.
Placing an order is clearer
- Selling reads like selling. When you choose to sell, the questions now match: "Which
fiat currency will your sale be valued in?", "What will you accept?", and "I will accept"
— instead of buy-oriented phrasing. - Shorter asset explanations. The plain-language blurb that appears when you hover an
asset no longer repeats the trade-only note; it's tighter. - Clearer action button. The button that posts your order now reads "Pay and Post this
order," so it's obvious the listing fee is part of the same step (and it no longer shows
the fee amount twice). - New payment option. "Cash machine with code" (cardless ATM withdrawal) is now
available to select.
Order and orderbook pages
- Tidier order details. The terms now sit up under the location, and the "posted on" and
"expires on" dates sit side by side — a more compact card, including on a phone. - Cleaner orderbook cards. Each card is now a single column with the "Message" button
centered and the hide control tucked into the bottom-right corner. The "last updated" time
is no longer a separate line — hover the countdown pill to see it.
Your orders
- Consistent "Live" badge. The Live status now carries the same bright green outline used
elsewhere. - A real answer to "why isn't my order showing?" Following the "posted an order but don't
see it?" link now lands on a short explanation, and each order clearly states its listing-fee
status — verified, underpaid, or not yet received — which is the usual reason an order isn't
visible in the public orderbook yet.
Feedback
- A calmer feedback form. Leaving feedback now uses a plain card with hover-to-fill stars,
and the separate "announce your first trade" box has been removed. Announcing your first
trade still happens automatically (you can turn it off in Settings and on the order form). - Clearer "feature your order." The promote-your-order form shows the cost in your own
currency, uses a clearer heading, and gives proper feedback when a password is wrong.
Chat
- Less clutter on mobile. The blue first-trade helper box now starts collapsed (tap to
open) and scrolls properly with the conversation, and the "LIVE" badge no longer crowds a
long display name.
Avatars are unique
- No copying someone else's picture. Every avatar — including a custom uploaded one — is
now unique across accounts. You can still remove your own avatar and re-upload the same
image; you just can't take one that already belongs to another account.
Plainer wording and smaller fixes
- Footer links now highlight in Morphit green in dark mode too.
- The social-link icons were removed from the more crowded spots (they remain on profiles).
For node operators
- Avatar uniqueness runs in the indexer. Your instance now rejects a profile that tries
to claim an avatar image already used by another account (a person re-uploading their own
image is unaffected). This arrives with the usualmorphit-ops upgrade; no configuration
or migration steps are required. - No configuration changes, and no third-party dependencies changed this release.
Downloads
- A poster's cryptographic identity, shown up front. An order's detail page now prints
-
Morphit v1.0.0-beta.42
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 20m5smorphit-release / Build + publish release tarball (push) Successful in 20m57sreleased this
2026-07-01 00:18:15 +00:00 | 86 commits to main since this releaseThis release is a broad round of polish across the parts of Morphit you touch most: placing
an order, reading your balance, browsing the block explorer, and chatting with a
counterparty. Nothing about how trades or fees work has changed — most of this is clearer
wording, plainer screens, and a couple of fixes to states that looked broken but weren't.
There's also one new convenience: you can now claim pending Blurt rewards right from your
balance card.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.Placing an order is clearer
- Plainer first step. The opening choice now reads "I want to buy" / "I want to sell"
rather than mentioning "crypto." - Friendlier asset picker. The assets you can trade are now listed alphabetically, each
with its own coin icon, and a short plain-language explainer appears when you hover (or tap
on a phone) — the separate little ⓘ bubbles are gone. - More helpful limits. If you accidentally set a minimum higher than your maximum, the
notice now appears right above the price section in clear red, with an offer to swap them.
"Leave blank for no limit" now shows under both the minimum and maximum fields. - Top-up lands ready to go. "Top up BLURT" now opens the order form pre-filled with a
sensible small minimum — about five dollars' worth, shown in your preferred currency — and
a hint telling you so, instead of a fixed figure. - Gentle hover cues. The buy/sell choices and asset blocks now highlight softly in
Morphit green when you point at them; locked or already-selected ones correctly stay put.
Your balance card
- Claim your rewards. If you have unclaimed Blurt rewards, a line now appears on your
balance card showing the amounts, with a "Claim now" button. Claiming animates your
balance up to its new total. (On a paired read-only device the line still shows, as
information, but claiming happens from your main signed-in device.) - Tap to see exact amounts (mobile). On a phone, the rounded balance figures can now be
tapped to reveal the exact amount. - Tidier layout. Top-up sits on the left, Export (now with a download icon) on the
right, with the clutter removed. The "earning interest" line reads "Earning X% APR."
The block explorer reads like a sentence
- Plain-language activity. Instead of raw operation names, the explorer now describes
what happened: "@alice sent 55 BLURT to @bob (with memo)," "@alice replied to @bob,"
"@alice downvoted @bob," "@newuser account created," and so on. For privacy, a transfer
only notes that a memo was attached — never its contents.
Chat
- Dark mode on mobile. Several chat surfaces that didn't fully respect dark mode on a
phone now do. - Clearer "turn on notifications." When the "Turn on chat notifications" prompt can't
enable them, it now tells you exactly why — for example, that you declined the browser
permission, or that this instance hasn't switched on push delivery — with a proper warning
icon, instead of one vague message. (If your operator hasn't enabled push, the in-tab
notifications still work.)
Settings — blocked accounts
- Always current. The blocked-accounts list now refreshes the moment you open Settings,
so it always reflects who you've currently blocked. Previously it could look empty after
navigating away and back until you pressed Refresh. Blocking and unblocking are also more
robust against a brief list flicker if you act while the list is still loading.
Plainer wording throughout
- "Blockchain," not jargon. Many spots that said "the Blurt blockchain" now simply say
"blockchain," and there's a new, plain-English "Blockchain" entry in the glossary.
Delegation is explained more simply, too. - Identity labels. Where a person's public posting key is shown next to their name, the
shortened key now sits on its own line beneath the name rather than crowding it.
Smaller fixes
- A currency / exchange-rate handling fix, and some orderbook and settings polish.
- The "announce my first trade" prompt now appears only on a genuine first trade.
- The backup-keys page dropped a redundant line of copy.
For node operators
- The reward-claim feature touches the indexer. Your instance's balance endpoint now
reports any pending reward amounts, andclaim_reward_balancewas added to the
same-origin broadcast allow-list so claiming never falls back to a privacy-leaking direct
RPC call. These come with the usualmorphit-ops upgrade; no configuration or migration
steps are required. - Web push reminder. The clearer chat-notification message makes it obvious when push
isn't available. If you want chat push notifications to work for your users, set the VAPID
environment variables as described in OPERATIONS.md §42 (generate them once with
scripts/generate-vapid-keys.sh). Without them, the relay simply reports push as
unavailable and clients fall back to in-tab notifications.
Downloads
- Plainer first step. The opening choice now reads "I want to buy" / "I want to sell"
-
Morphit v1.0.0-beta.41
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 19m57smorphit-release / Build + publish release tarball (push) Successful in 20m44sreleased this
2026-06-30 06:17:07 +00:00 | 88 commits to main since this releaseThis release is mostly a visual tidy-up. The app's accent colours are now consistent across
every screen, the source-code mirror list on the download page shows each host's real logo,
and an order's "expires in…" countdown reads the same wherever you see it. There's also a
small fix to how one rare order state is labelled.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.A consistent coat of paint
- One set of accent colours, everywhere. A slightly off-brand brownish-amber had crept
into a handful of spots over time — some status pills, a few warnings, the
near-the-limit character counter, the order-expiry countdown. Those are gone. The app now
uses one consistent palette: Morphit green for positive and active things, red kept
strictly for warnings and destructive actions, teal for informational notes, and a
neutral grey for plain status. Nothing about how anything works changed — it just looks
tidier and more of-a-piece, in both light and dark mode. - Steadier link hovers. A couple of navigation links could show an off-colour hover
state; they now match the rest of the interface.
Finding the source code
- The mirror list shows real logos. The download page lists the places Morphit's source
is mirrored. GitFlic and Radicle used to share a generic Git mark; they now show their own
logos — GitFlic's bear and Radicle's pixel mark — drawn in the same single-colour style as
the GitHub, Codeberg, and GitLab icons, so they adapt cleanly to both light and dark mode.
Watching an order's clock
- One countdown style, everywhere. An order's "Expires in 5d 3h" countdown now looks the
same on the orderbook, in your own orders, on a profile, and on an order's own page — a
calm Morphit-green chip that still ticks down to the second in the final minutes.
Previously the orderbook version turned red and pulsed as the deadline neared, which didn't
match the green countdown shown elsewhere. A normally-expiring order isn't an error, so it
now stays green like the rest; the exact deadline is always in the tooltip.
Smaller fixes
- A rare order-status label is no longer alarming. In one uncommon case — an order whose
fee status hadn't been recorded yet — your orders list could show a red, "rejected"-looking
label with a link about rejected fees, even though nothing was actually wrong. It now reads
a plain "Not yet verified", matching how the order's own page has always described that
state.
For node operators
- No operator-facing changes in this release. Upgrading is the usual
morphit-ops upgrade;
no configuration or migration steps are required.
Downloads
- One set of accent colours, everywhere. A slightly off-brand brownish-amber had crept
-
Morphit v1.0.0-beta.40
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 39smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 19m50smorphit-release / Build + publish release tarball (push) Successful in 20m44sreleased this
2026-06-29 20:56:30 +00:00 | 89 commits to main since this releaseThis release rounds off the two-factor and first-order screens, makes a handful of mobile
views read better, and fixes a couple of small layout glitches. Node operators also get a
quick health readout for the server itself. It also rolls out the welcome mat for traders
and trading bots, lets you link a photo of what you're trading straight from your Blurt
blog, and trims what the first screen has to load.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.Two-factor sign-in
- Codes with a space now work. Some authenticator apps (Aegis, for example) show your
6-digit code as "123 456" with a space in the middle. The setup screen used to silently
refuse to submit when that space was present, so the code looked "rejected" even though
it was right. It now accepts the code however your app formats it. - Tidier setup screen. On the two-factor setup screen the QR code is centred, the
secret has a Copy button that confirms with a brief "Copied", the code box shows a
clear focus ring, and the expandable help sections use Morphit's own green instead of an
off-brand colour.
Signing in on another device
- "Sign in to another device" is now in the menu. If you're signed in on your phone,
you can sign in on a computer without typing anything: on the desktop open the QR
sign-in screen, then on your phone tap your avatar (top-right), choose Sign in to
another device, and point its camera at the code. The option was always described on
the desktop screen but wasn't actually in the app yet — now it is, and the on-screen
instructions match what you'll see.
On your phone
- Whole-number balances. On a phone, your BLURT and Blurt Power balances now show as
round numbers with no decimals and no thousands separators, so they fit cleanly in the
narrow three-column card instead of getting squeezed. On a tablet or computer you still
see the full precise amount. - The first-buy welcome reads full-width. The "Your first trade is on us" message on
the orderbook used to get crammed into a narrow column next to the gift icon on phones.
It now spans the full width of the card, so it's comfortable to read.
Posting and reviewing an order
- Your order summary now sits above the final step. When you reach the review step,
the plain-language summary of what you're posting appears at the top, right where you're
looking, instead of only further down the page. - First buy hides fee choices that don't apply. On your very first order — a free buy
of BLURT where the listing fee is waived — Morphit no longer shows the other
fee-payment options that wouldn't make sense yet. On later orders you still get the full
choice of how to cover the fee.
Security keys
- Tidier setup screens. When you register or change a hardware security key (like a
YubiKey) in Settings, the add / require / remove forms are now centred and easier to
read, the danger warnings are clearly boxed in red, and — if you've already registered
an account — the password prompt is labelled with your own @name so it's obvious
whose password it wants.
Blocked accounts
- No more text jump on Refresh. Tapping Refresh on the Blocked accounts list used
to nudge the explanation underneath it sideways for a moment and leave it slightly out
of place. The text now stays put, lined up the same as the rest of your settings.
For node operators
- See the server's health at a glance.
morphit-ops healthnow has a System
section showing the machine's CPU, memory, and disk usage (the disk figure matches
df -h /). It's a quick gut-check — a nearly full disk or a pegged CPU is often the
real reason an indexer starts lagging. Like the price-feed details, these numbers are
read straight off your own box and are never exposed on the public/v1/healthpage.
For traders and trading bots
- Morphit is built for market makers. A new FAQ entry — "Can I market-make or run a
trading bot on Morphit?" — spells out what was already true: there's no maker or taker
fee (just the flat listing fee of about $0.12 per order, with no withdrawal fee, limit,
or waiting period); thespreadprice model pins your order a set percentage off the
live market mid (say,market ± 0.5%) and re-prices itself as the world price moves;
and because every order is a plain on-chain operation that you can read over the
read-only tools and RSS feed, a bot needs no API key, no account approval, no KYC, and
never hands custody of your funds to the instance. The arbitrage entry now points here
too. - Clearer competitor list. The arbitrage FAQ now names Hive-Engine (HE) alongside the
other exchanges when explaining where BLURT trades.
Showing what you're trading
- Link a photo from your Blurt blog. If you put an https link to an image hosted on
Blurt's own image servers (img.blurt.blogorimgp.blurt.blog) in an order's terms,
it now shows up as a tidy link that opens in a new tab when clicked. The picture is
never loaded into the page automatically, so simply viewing an order never reveals
anyone's IP address — and the link opens with no referrer, so the image host can't tell
which order page you came from. Any other kind of link in the terms stays plain text, so
public order terms can't be turned into a place to drop arbitrary links. (Chat already
links shared addresses the same safe way.)
A lighter first screen
- Footer network icons load only when needed. The Tor, I2P, and ENS icons in the page
footer now wait until you scroll near them before loading, instead of being fetched the
moment the page opens. It shaves a little off the very first screen, especially on a
phone or over Tor. If you browse with JavaScript turned off, the icons still appear.
Downloads
- Codes with a space now work. Some authenticator apps (Aegis, for example) show your
-
Morphit v1.0.0-beta.39
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 42smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 19m49smorphit-release / Build + publish release tarball (push) Successful in 20m38sreleased this
2026-06-29 05:10:15 +00:00 | 90 commits to main since this releaseThis release is about staying signed in when you want to, and a round of order-form and
sign-in polish. The headline: if you chose Remember me, an ordinary page refresh now
keeps you signed in instead of dropping you back to the password screen. Everything else
here smooths rough edges you'd hit while posting your first order or unlocking your
session.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.Staying signed in
- A normal refresh keeps you signed in. If you ticked Remember me when you
unlocked, pressing refresh (or F5) no longer logs you out — your session is restored on
the same tab without re-typing your password. A full hard-reload (the "empty the cache"
kind) still locks, on purpose, and if you did not tick Remember me, any refresh
still locks. Nothing decrypted ever leaves your device.
Posting your first order
- Barter now asks for Terms. When you offer Barter (goods/services), the Terms box
becomes required and the Continue button stays off until you've described the deal —
and the Terms border flashes green the moment you add barter, so it's obvious what's
needed. A bare "barter" listing with no details is no use to the person on the other
side. - The steps are numbered honestly. Choosing how to cover the listing fee is its own
step, so it's now labelled Step 4 of 4 (and the earlier steps are renumbered to
match). - Pay the fee in BLURT if you already hold some. Existing Blurt users can now choose
to pay the listing fee in BLURT on their first order instead of spending the free
first-order waiver — the choice now sticks instead of snapping back. - Tidier first-order screen. Removed a duplicate "safer defaults" tips card that was
showing again on the final step, and trimmed a redundant sprout from the
"Your first order is on us!" title.
Clearer links and highlights
- FAQ hover. Moving the pointer over a FAQ entry now gives it a soft emerald
highlight that fits the rest of the site. - Consistent "Learn more" / "check fee status" links. These now use the same gentle
sliding-arrow style as the rest of the app, with no underline. The "Posted an order but
don't see it?" hint on the orderbook now appears only once you've actually posted an
order, so it doesn't clutter the view for newcomers.
Sign-in screen
- Balanced unlock card. On the welcome-back screen, the Unlock and Sign out
buttons now sit together on one line instead of one floating below the other.
Documentation
- Barter, explained better. The barter FAQ entry is shorter and leads with the
real-world reason people trade goods directly — being unbanked, capital controls, a
failing local currency, counter-economics — with one concrete example (orange-tree
saplings for Monero) and one simple rule: if either side is a listed coin, the on-chain
side still earns a receipt and portable reputation.
Downloads
- A normal refresh keeps you signed in. If you ticked Remember me when you
-
Morphit v1.0.0-beta.38
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 19m28smorphit-release / Build + publish release tarball (push) Successful in 20m20sreleased this
2026-06-29 01:16:04 +00:00 | 92 commits to main since this releaseThis release is about being honest and current. The competitor comparisons in our FAQ are
brought up to date with what actually happened over the last few weeks, we spell out that
Morphit ships with zero code obfuscation — every line that runs in your browser is
published and auditable — and a couple of order-form rough edges are smoothed out. For
operators, the health screen now shows each price feed individually, and there's an honest
note about optional hardware memory encryption.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched. This release
changes no third-party dependencies.Honest comparisons, kept current
- OpenMonero. Our comparison no longer says OpenMonero is gone — it went briefly
offline in early June 2026 and is back online now, saying it is "more secure this time."
We explain why that doesn't change the core difference: OpenMonero holds your coins in a
custodial wallet (which is what kept getting drained), while Morphit holds nothing at
all, so there is nothing to harden and nothing to lose. - Haveno / RetoSwap. We added the second exploit, on June 16, 2026 — this one in the
forced-arbitration / dispute path, where an attacker forced a dispute and had Monero
released without ever sending the Bitcoin. Two protocol-level exploits in under a month,
both in the arbitration machinery. Morphit has no arbitrator and no escrow, so neither
attack class has anything to target here.
Transparency
- Zero code obfuscation. We now say it plainly on the brag list and the comparison
image: Morphit's frontend is minified only for size, never to hide what it does. Every
byte of the running system is published AGPL source you can read and audit — no compiled
bytecode, no opaque packed archives. Combined with the on-chain hash of every release and
Subresource Integrity on every script, you can verify exactly what your browser is
running, independent of whoever is hosting it.
Polish
- Changing a currency on the order form. Once you picked a price currency, tapping it
again did nothing — the field looked stuck. Now tapping the currency reopens the picker
so you can change it. - A clearer hover on text fields. Text boxes and dropdowns now gently strengthen their
border when you move the pointer over them, so it's obvious what you're about to click.
Fields showing a validation error keep their red border on hover.
For operators
- Per-feed price health. The health view (
morphit-ops, option 13) now lists each
price provider on its own line — whether it's up and the price it last reported — so a
dead or stalled feed is obvious at a glance. This is operator-only; the public health
endpoint still never reveals which of your feeds are up or down, preserving the opacity
that makes the averaged price hard to skew. - Optional: hardware memory encryption (advanced). OPERATIONS.md and the node guide now
document confidential-computing hosts (AMD SEV-SNP / Intel TDX) as optional
defense-in-depth for the one secret the relay keeps in memory — your posting key, never
anyone's funds. It's opt-in, not a default: Morphit makes no secure-enclave claim and
doesn't depend on it, and a TEE roots trust in the CPU vendor, which is in tension with
our decentralization priority. Tor-by-default, the strict CSP, SRI, and the on-chain
release manifest already cover the essentials.
Downloads
- OpenMonero. Our comparison no longer says OpenMonero is gone — it went briefly
-
Morphit v1.0.0-beta.37
StableAll checks were successfulmorphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 40smorphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 32smorphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14smorphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 19m14smorphit-release / Build + publish release tarball (push) Successful in 20m18sreleased this
2026-06-28 22:42:50 +00:00 | 93 commits to main since this releaseThis release leans into privacy. Every Morphit instance is now reachable over Tor by
default — operators no longer have to set anything up, and Tor Browser is offered the
.onionautomatically. Prices are now averaged across many independent market feeds
instead of leaning on one, so no single source can break or skew them. The order pages
get more polish, the app loads a little lighter, and setting up your own instance is
friendlier than ever.As always, Morphit keeps no data about you, and there's no sign-up or ID check. If you're
already signed in, your account, keys, and balances carry over untouched.Privacy
- Reachable over Tor, automatically. Every instance now generates and serves its own
Tor.onionaddress as part of setup — no extra steps, no key-grinding. When you visit
over Tor Browser, the site advertises its onion (via anOnion-Locationheader) so the
browser can offer you the.onionwithout you doing anything. VPN, Tor, Lokinet, and
I2P access were always welcome here; now the onion is on by default, not an afterthought.
Prices you can trust
- Many feeds, averaged. Instead of relying on a single price source, Morphit now
gathers prices from several independent feeds and takes the middle (median) value, with
outliers dropped. If any one feed is down, wrong, or rate-limited, it simply drops out
of the average — it can never skew or break the price. The price is still only ever used
to work out amounts for you; it is never treated as a source of truth for anything else.
Placing and editing orders
- A more polished order form. Number fields highlight in red the moment something's
out of range (rather than a confusing mix of colors), the terms box shows a live
character count as you approach the limit, and the payment-method picker has consistent
hover highlights throughout. Barter listings explain what to describe more clearly. - Lighter, faster pages. The order and sign-up pages now load their heavier pieces
only when you actually reach them, so the first paint is quicker.
A few nice touches
- Profile pages show the Nostr and Blurt.media links neatly stacked at the corner of
the avatar. - Settings — the "Set up two-factor authentication" button now has a clear, visible
hover so it's obvious it's a link. - As with recent betas, this release changes no third-party dependencies.
For operators
- A Tor onion is generated for you. The setup wizard creates a
.onionin the
background while you answer the other questions — instant, no waiting, no vanity
grinding. It never overwrites an address you set yourself, and a matching Tor role in
the shipped Ansible playbook serves it. (A custom vanity onion is still a manual step
if you want one.) - Hardening, by default and hand-held. The wizard now walks you through securing your
server — SSH lockdown, firewall + fail2ban, automatic security updates, kernel
hardening, and intrusion detection — as a short run of "yes" confirmations, and the
Ansible hardening role applies all of it for you. Your server is locked down on the
default path, not as an afterthought. - Setup remembers where you left off. If you get interrupted partway through the
wizard, run it again and it offers to pick up where you stopped — re-asking only the two
things it never writes to disk (your database connection and your relay's active key). - More resilient pricing. Your instance's fees and floors stay aligned with the
market using the same multi-feed median, so a single feed outage doesn't knock anything
over.
Housekeeping
- A large internal audit pass, a leaner "Run a Morphit node" guide, and tidied-up
translations across all ten languages. These are behind-the-scenes; nothing you do
changes.
Downloads
- Reachable over Tor, automatically. Every instance now generates and serves its own