Comparison

A typical cloud app, or Payky

What we compareA typical cloud appPayky
Where the data isOn the provider's serverOn your device
Sign-upEmail, password, often ID documentsNone
Who stands between the customer and youThe provider's serverNobody of ours
When the server goes downYou can't sellYou keep selling
Who can read your salesThe provider, and anyone who gets into their databaseOnly you
When the company shuts downWill you manage to download an export in time?You keep the app and the data
Source codeClosedOpen (MIT)
  • Money
  • The app's communication

A typical cloud app

Payky

Customer's paymentYour bank accountThe app provider's serverYour app

A typical cloud appThe app sends everything to the provider's server, and only that server talks to your bank. Meanwhile it holds every merchant's data.

PaykyThe money goes straight to your account, and your phone asks your bank about the payment directly.

Local-first

No cloud: your data is with you

Your catalog, bills, payments and settings are stored on your own device. The app works with them directly, so it responds instantly and doesn't need the internet to sell. Sync is a handy extra, not a requirement.

You sell without internet

Works offline

  • Open a bill and ring up items
  • Show the customer a QR code to pay
  • Take cash and close the bill

Finishes once you're back online

  • Confirmation of a QR payment from the bank
  • Bitcoin payments
  • Sending the sale to EET
  • Backup and sync with your other devices

EET never keeps a customer waiting: the sale goes to the Financial Administration in the background.

Several tills at once

Several devices can work on the same data at once, even offline. As soon as they reconnect, the changes merge on their own, and no central server has to decide which one wins.

Speed doesn't depend on the connection

Every tap is saved on the device straight away. Nothing waits for a server to answer.

No sign-up

No sign-up, no verification

On first launch, the app creates a cryptographic key, and that key is your account. Think of it as the key to a safe with no locksmith: whoever has it can open the data, and if you lose it, nobody can open it for you.

Why that works

Sign-up is mostly for the provider's benefit. They need to know whose data sits on their server and let only you in. Payky keeps none of your data on a server, so there's no account to create. What lets you in isn't our server, it's your key.

The recovery phrase

You can write the key down as a recovery phrase — a list of words. Whoever has it has the account: they can open the data and the bitcoin wallet. To move the account to a new device, you scan a QR code from the current one and confirm a six-digit code. The phrase never leaves the device.

Why we don't ask for your ID (KYC and AML)

Payky never holds or forwards your money. A bank transfer goes from the customer's bank straight to your account, which your bank has already verified. Bitcoin lands in a wallet only you hold the keys to. So the app has no money of yours that would require verifying you.

This is what a recovery phrase looks like. It's only a sample; yours will be different.

  1. 1.garden
  2. 2.ocean
  3. 3.silver
  4. 4.tiger
  5. 5.bread
  6. 6.window
  7. 7.lunar
  8. 8.cotton
  9. 9.museum
  10. 10.frost
  11. 11.anchor
  12. 12.velvet
  13. 13.candy
  14. 14.robot
  15. 15.maple
  16. 16.harbor
  17. 17.pencil
  18. 18.sunset
  19. 19.valley
  20. 20.cherry
  21. 21.rocket
  22. 22.island
  23. 23.puzzle
  24. 24.meadow
Freedom comes with responsibility
What happensBusiness dataBitcoin in the walletMoney in the bank account
I lose my phoneI enter the phrase on a new device, and the data downloads from the relays.SafeSafeSafe
I lose the recovery phraseAs long as I have the phone, I can copy the phrase again in the settings.SafeSafeSafe
I lose both the phone and the phraseAnd the account is on no other device.LostLostSafe

There's no password reset by email, and we can't give you back the data or the bitcoin, because we don't have them. So write the phrase down and keep it somewhere safe, away from your computer.

Backup and sync

A backup nobody but you can read

Data is encrypted right on your device, and only unreadable noise ever leaves it. Only someone with the key can read it.

Your phoneServer / relayYour other device

A typical cloud app

Payky

  • Support
  • Engineers
  • Sales team
  • Attacker
What the provider's server seesEspresso 2× · CZK 130 · 14:32 · table 3 · QR payment
What a relay sees9f3a e71c 04bd c2a8 5e19 b7f0 1d6e 83c4 …

With a cloud app, the provider holds the key to your data. So they can read it, and so can anyone who gets to the server: support, engineers, sales, or an attacker in a breach. With Payky, the relay sees only encrypted noise, and only you have the key. Not even our support can see your data — they only know what you tell them.

What a relay is
A simple server, built on the open-source Evolu library, that passes encrypted data between your devices. Think of a post office handling sealed envelopes: it knows who got them and when, but can't see inside.
It can't see the content
Data is encrypted with your key before it ever leaves the device. All the relay stores is unreadable blocks.
It sees metadata
Only what's on the envelope: an anonymous account identifier, when the data arrived and how much there was. It doesn't know your name, your business or any amounts.
Two relays at once
The backup goes to Payky's relay (live-relay.payky.me) and, at the same time, to the relay of Linky (evolu.linky.fit), a friendly project built on the same principles. If one goes down, the other keeps going. In the settings you can turn them off or add your own, for example on your own server.
Restoring
On a new device, you enter the recovery phrase or move the account over by QR code. The app connects to the relays, downloads the encrypted data and decrypts it only on your device.

Payments

We don't stand between you and the customer

Money goes straight to your account or your wallet. No Payky server stands in its way.

QR bank transfer

Bitcoin (Lightning)

Card

Customer's bank
Your bank account
Customer's wallet
Spark network
Your wallet
Customer's card
Switchio and the merchant's bank
Your bank account
Paykyoff the money's path

QR bank transfer

  1. 1The phone creates a QR code with your account number, the amount and a variable symbol. No server takes part.
  2. 2The customer scans it in their banking app and confirms the payment.
  3. 3The money goes from the customer's bank straight to your account, within seconds for an instant payment.
  4. 4Payky then asks your bank by itself whether the payment has arrived. It uses a token for this — an access key to your bank account that only you have stored.

Automatic payment matching only works with Fio banka for now. With other banks, you confirm the payment by hand.

Bitcoin (Lightning)

Lightning is a network for instant bitcoin payments. Payky issues an invoice from your Spark wallet, which runs right inside the app. The payment lands in your wallet, and only your device holds its keys. Transactions are processed by Spark network operators and a Lightning gateway provider — they see the amount and the time. The app gets the exchange rate for your currency from the public Yadio service.

Card

On a device with a Switchio terminal, Payky only hands the amount to the Switchio app. Switchio and the merchant's bank then process the card, just as with any other terminal. Card details never reach Payky.

Cash: just you and the customer.

Security

We don't have your data, so we can't lose it

There's no single place holding every merchant's data, so there's nothing to steal in one go.

A typical cloud app

One database with every merchant's data: a single breach is enough.

Payky

Each device on its own, and locked: nothing to attack all at once.

No tempting target

A server holding the data of thousands of merchants is an ideal target: one breach and the attacker has everything. And most breaches don't come from cracked encryption, but from a misconfigured database, a stolen admin password or an employee with access to everything. Payky has no such server. An attacker would have to break into each device separately, and on the relays they'd find only encrypted data.

Your data belongs to you

Whoever holds your data can analyse it, sell it, hand it over on request or lose it. With Payky, only you can read it, and nobody can make us hand it over, because we don't have it.

Sensitive details stay with you

The recovery phrase, the bank token and the EET certificate are stored in the account data, which only ever syncs encrypted. Your device signs EET sales and sends them itself, with no one in between.

A PIN for staff

A PIN can lock the settings, refunds and other sensitive actions, so staff can only sell. To be clear: the PIN keeps out the curious at the counter, not an attacker with full access to the device. Real protection comes from the recovery phrase and the phone's own lock.

No tracking

Payky uses no analytics and no tracking services. Error reporting stays off until you turn it on yourself. And when you do, recovery phrases and account numbers are stripped from the report before it's sent.

Transparency

We don't say “trust us”. We say “check for yourself”.

A good lock is secure even when everyone knows how it works. Only the key has to stay secret. Cryptographers call this Kerckhoffs's principle, and Payky is built on it: anyone can read the code, but the key — your recovery phrase — is yours alone.

A typical cloud app

Secure. Trust us.

You can't see inside, so all you can do is trust.

Payky

You can see how the lock works, and you still can't open it. Only you have the key.

The code is public

The whole app is on GitHub under the MIT license. Anyone can look through it — you, your IT person, even your competitors.

Source code on GitHub

Rules backed by proof

How the app should behave is written down right in the repository. Each rule says which test guards it, or why it has none. If the code breaks a rule, a test fails.

We admit the weak spots

The PIN won't stop an attacker, relays see metadata, and Spark network operators see amounts. We say it openly, because security that keeps quiet about its weak spots isn't security — it's advertising.

How one claim gets checked

  1. 1ClaimOn this page we promise: “EET never keeps a customer waiting.”
  2. 2RuleThe repository records it as a decision: EET never holds up checkout.
  3. 3TestChecks that the screen appears right after payment, even when EET is down.
  4. 4YouYou can read both the rule and the test. And if you know your way around, you can run the test yourself.

Don't want to trust even our build?

We can't yet prove that the app on payky.me or on your phone was built from exactly the code on GitHub — that would take so-called reproducible builds, which we don't have. But you don't have to take our word for it: you can build the app yourself from the code on GitHub and run your own copy.

The full list

Nothing hidden: every connection, listed

Every service Payky talks to: what it sends, when, and for our own servers, why. Sorted by when the connection happens.

Until you turn something on or use it, the app talks at most to the payky.me website and two relays — and it sends the relays only encrypted data.

Whenever you use the app

  • Payky server

    The payky.me website

    What is sent
    Nothing; the app is just downloaded.
    When
    When you open the web version.
    Why
    This is where the web version of the app loads from. The Android version is installed right on the phone.
  • Payky server

    The live-relay.payky.me relay

    What is sent
    The account's encrypted data and an anonymous identifier.
    When
    Always, but you can turn it off.
    Why
    Backup and sync.
  • Third party

    The relay of Linky, a friendly project (evolu.linky.fit)

    What is sent
    The account's encrypted data.
    When
    Always, but you can turn it off.

Only when you turn it on

  • Payky server

    AI assistant

    What is sent
    Your questions and the assistant's answers. If you allow it, also the bills and payments the assistant reads.
    When
    Only when you turn the assistant on.
    Why
    Our server holds the key to the AI model and passes your questions on to the AI provider. Conversations aren't stored anywhere. The assistant also downloads the app's documentation from us, so it knows how the app works.
  • Third party

    Your bank (Fio API)

    What is sent
    Your token and a request for the account's transactions.
    When
    When payment matching is on.
  • Third party

    Financial Administration (EET)

    What is sent
    Signed sale data.
    When
    When EET is on.
  • Third party

    Spark network operators and a Lightning gateway

    What is sent
    Bitcoin transactions.
    When
    When you have bitcoin payments turned on.
  • Third party

    Sentry

    What is sent
    A technical description of the error, without the phrase or account numbers.
    When
    Only when you turn error reporting on.
  • Third party

    Open Food Facts and Open Beauty Facts

    What is sent
    The scanned barcode.
    When
    When product lookup is on.

Only for a specific action

  • Payky server

    Support

    What is sent
    Nothing.
    When
    When you open support.
    Why
    The app finds out whom to deliver support messages to.
  • Payky server

    Contact form

    What is sent
    Name, contact and message.
    When
    When you send the form.
    Why
    It passes the message on to the support chat.
  • Payky server

    Donations

    What is sent
    The amount of the donation.
    When
    When you donate.
    Why
    Issues an invoice for your donation.
  • Payky server

    EET test certificates

    What is sent
    Nothing sensitive.
    When
    When you try the test environment in the EET settings.
    Why
    Hands out public test certificates.
  • Third party

    Yadio

    What is sent
    A request for the exchange rate.
    When
    When converting bitcoin to your currency.
  • Third party

    Switchio

    What is sent
    The payment amount.
    When
    With card payments (Android).
  • Third party

    The issuer of the customer's Bolt Card

    What is sent
    A request to pay from the card.
    When
    When a customer pays by tapping a Bolt Card (Android).
  • Third party

    The recipient's Lightning address

    What is sent
    A request for an invoice.
    When
    When you withdraw to a Lightning address.
  • Third party

    Nostr relays

    What is sent
    Encrypted support messages, the account's public profile, and the data for moving an account to another device.
    When
    When you use support, the profile or account transfer.

None of these services ever gets hold of your money or readable data about your business. The only exception is what you yourself write to the AI assistant or to support.

Looking ahead

You don't depend on us

Neither selling nor payments depend on our servers. Here's what happens when they go down — and what would happen if Payky shut down.

When our servers go down
FeatureWhat happens
Selling, bills and cashKeep working
QR payments, bitcoin and cardsKeep working
EETKeeps working; sales go straight to the Financial Administration
Backup and syncKeeps going through the Linky relay, if you have it on
Web versionOpens from the browser's storage if you've opened it before. The Android app keeps working.
AI assistant, support, contact form and donationsDon't work until the servers are back

If Payky ended

Your data is with you

The app on your phone keeps working.

Syncing keeps working

Through any available relay, even your own.

We don't have your money

The bank account is yours, and you can open the bitcoin wallet with the recovery phrase in another app that supports Spark too.

Frequently asked questions

Try it yourself

No sign-up, done in a minute. Just open the app.

Try this: open the app, switch on airplane mode and ring up an espresso. The bill opens, the items add up and the cash goes through.

Start Payky