Why a transfer should be one posting, not two messages
Most "instant" transfers are two systems sending each other messages and reconciling later. When the money has left one balance and not arrived at the other, somebody is holding it. On one ledger there is no gap for it to sit in.
"Instant transfer" usually means something quite specific and not very instant: two institutions exchange a message, each writes it down in its own books, and the two sets of books are compared later that night.
Most of the time this works. The interesting question is what happens in the gap.
The gap
The sender sees a debit. The receiver sees nothing. Somewhere between the two, the money exists in a message rather than in an account.
Then one of three things happens. It arrives. It fails and is returned, hours later. Or it enters the state every support agent dreads, where one system says sent and the other says nothing arrived, and the resolution is a file, a phone call and a week.
The gap is not a bug in anyone’s implementation. It is what you get when two sets of books have to agree with each other about the same money.
One set of books
Between two accounts on BitriPay there is one ledger. A transfer is a single posting: one wallet is debited, the other credited, in the same transaction.
There is no moment when the money has left and not arrived, because there is nowhere for it to be in between.
That is the entire claim, and it is worth exactly as much as the ledger underneath it.
What makes the ledger worth it
Every posting balances. The entries of a transaction sum to zero, and a transaction that would not balance is refused rather than written. The books cannot be out by construction.
Balances are derived, not stored and edited. A wallet balance is the sum of its own postings. Nobody — no administrator, no support agent, no job at two in the morning — can set a balance to a number. They can only post to it.
Corrections are postings too. A reversal is a new, opposing entry, never a deletion. If something was wrong and then fixed, both facts stay in the history. A ledger you can quietly edit is a ledger nobody should trust, including you.
It checks itself. Every wallet balance must equal the sum of its own entries. That is reconciled, and a mismatch raises an alert rather than being absorbed as a rounding difference.
Before you approve
The screen shows the recipient’s name, the amount, the fee and what will actually arrive. Read the name. A transfer between accounts is final once posted, in the same way handing somebody cash is final — which is precisely why the name is on the screen and not just the number.
What it costs
The fee is on the confirmation screen, with the arriving amount. No second fee at the other end, and nothing deducted that the screen did not name.
What you can check
These are facts about the running platform, not adjectives. Each one is visible in the product, in the API reference or in the ledger.
- Every movement is a balanced double-entry posting: the sum of the entries is zero, and a transaction that would not balance is refused rather than written.
- Balances are derived from the entries, so a balance cannot be edited — only posted to.
- A reversal is a new opposing posting, never a deletion, so the history of what happened stays readable.
- The ledger is reconciled against itself: every wallet balance must equal the sum of its own postings, and a mismatch is an alert rather than a rounding difference.
- Limits are enforced per account and per tier before the posting, not discovered afterwards.
What it costs
The fee is shown before you approve, with the amount that will actually arrive. There is no second fee at the other end and no deduction the screen did not name.
Is it switched on?
Whether this is available depends on the authorisations in place and on what the administrator of a given deployment has switched on. That changes, and an article does not — so the live answer lives on the feature page, which reads it from the platform itself: Wallets and transfers on the features page.
Read next
- Money requests — Ask once. It waits for them.
- The ledger — Books that cannot be quietly edited.
- Agents and cash — The last mile is a person.
Frequently asked questions
How long does it take?
Between two BitriPay accounts it is one posting, so the receiver sees it as the sender’s screen confirms. There is no window where it has left one side and not reached the other.
I sent it to the wrong person.
A transfer to another account is final once posted, exactly as handing over cash is final. This is why the confirmation screen shows the recipient’s name and not only their number: read the name before you approve.
What stops someone draining my wallet?
Nothing leaves without your own fingerprint or PIN, limits apply per account and per verification tier, and a new recipient can require a step-up before a large amount moves.
Send with a QR code, add money by card or mobile money, issue a virtual card. Sandbox balances let you explore before any real money moves.
Keep reading
Pourquoi un virement devrait être une écriture et non deux messages
La plupart des virements « instantanés » sont deux systèmes qui s’envoient des messages et se rapprochent plus tard. Quand l’argent a quitté un solde sans être arrivé à l’autre, quelqu’un le détient. Sur un seul grand livre, il n’existe aucun intervalle où il pourrait séjourner.
The problem with sending somebody a code
A voucher code in a message can be forwarded, screenshotted and redeemed by whoever gets there first. A voucher recorded on the ledger can be redeemed once, by one person, and you can see when it was.
Connecting a bank account without signing away the keys
Bank connections let you pay by bank and prove income without uploading statements. The question worth asking is what you consented to, for how long, and how you take it back.