Edge — test version

veks.li edge

A separate Android app where we try new features before they reach the official veks.li. It runs the same code as the web app at app.veks.li.

Android

Version 0.11.4-edge (2053), package li.veks.edge, 64-bit phones only (arm64-v8a, practically every phone today). The Zapstore listing is waiting for approval. Until then the app does not update itself; new versions appear on this page.

Before you install

  • Edge installs next to the official veks.li. It has its own Nostr key, its own wallet and its own trade history; nothing moves between the two.
  • This is a test version. Trade amounts you could live with losing to a bug, and back up the Cashu wallet phrase just as in the official app.
  • Banking apps can see this app too. Install it in a private space or another user profile (see the notice on the main page).

01 — Verification

Keys and sources

Edge is published by its own Nostr identity and the APK is signed with its own key, separate from the official veks.li. The Zapstore listing will use the same identity.

To verify a downloaded APK (apksigner ships with the Android SDK):

sha256sum veksli-edge.apk
apksigner verify --print-certs veksli-edge.apk

Both the file hash and the certificate must match the values above. If they do not, do not install the app.

02 — Changes

How it differs from the official veks.li

Compared with the official veks.li Android app 0.11.2.

  1. Offers for several banks.

    The seller ticks every bank whose ATM is nearby. The first buyer from any of them gets the offer: when taking it, they pick the bank whose app will generate the code, and the offer then runs on that bank (code validity and ATM).

  2. A discount for the buyer.

    The seller can sell sats below the market price, so the buyer gets more sats for the same amount in euros. Turn it on in Settings → Enable premium pricing; the coordinator sets the allowed range. Buyers see a green discount badge on the offer.

  3. A stuck offer attempt clears itself.

    When a coordinator reply got lost, the official app said "An earlier offer attempt is unresolved" and blocked new offers until you cleared the app's data. Edge releases such an attempt 10 minutes after it was made if the coordinator has no invoice for it.

  4. Fewer false "amount does not match" errors.

    The amount to pay is estimated from the exchange rate fetched when the offer is created, not from one that is minutes old.

  5. Tested with coordinators that run the newest features.

    New features need support from the coordinator the trade runs through as well, so edge is tested with coordinators that already have them.

03 — Compatibility

How the official app sees offers from edge

04 — Testing

What to try

  1. Install and first start

    Next to the official app, also in a private space. The app should open within a few seconds, not hang on its icon.

  2. An offer for several banks

    Create an offer with two or three banks. Have a buyer with a bank other than the first one take it, and complete the withdrawal.

  3. Discount

    Create a discounted offer. The buyer should see the discount badge and receive the matching amount of sats.

  4. Across with the official app

    Take an edge offer in the official app and the other way round. Check it behaves as described above.

  5. New-offer alerts

    In the app and in the SimpleX offers group: do they arrive, with the right bank and amount?

  6. When something gets stuck

    If the app says "An earlier offer attempt is unresolved", wait 10 minutes and try again. No need to clear data.

05 — Bugs

How to report a bug

Open an issue in the edge repository on gitworkshop.dev (you sign in with your Nostr key). Include the version (0.11.4-edge (2053)), what you did, roughly when, and a screenshot if you can. If the app crashes or freezes and you can connect the phone over USB, an adb logcat capture from that moment helps most.

06 — History

Versions