Блог
Заметки об инфраструктуре верификации, изменениях в покрытии и работе над API.
Статьи публикуются на английском языке.
Giving an AI agent a scoped key
An agent that can spend money needs a smaller key than the one your backend uses. The scope split we recommend, the MCP config, and the two limits we insist on.
Подробнееавтор: Ilya Novak
Engineering
Webhook signatures, and why we rejected plain bearer callbacks
Our first callback design put a shared token in the Authorization header. It proved nothing useful. Here is what replaced it and how to verify it in ten lines.
Rentals vs activations: choosing the right primitive
One question decides it: will you ever need to receive a second message on this number, later? Everything else is arithmetic.
How we route a purchase across four upstream pools
A buy request touches one offer table, up to three providers and one price formula. This is the whole path, including what happens when the first pool lies about its stock.
Coverage report: 24 countries added in 2024
Twenty-four ISO countries crossed our launch bar last year, three were removed, and one has been sitting in the waiting room since August. The full table.
Five years of VirtualSMSNumbers
Founded in Tallinn in 2019 with three countries and a spreadsheet. What the numbers look like now, and the three decisions we got wrong on the way.
Long-polling beats your retry loop
Six hundred requests to learn one five-digit number is a strange way to spend a rate limit. The ?wait= parameter, the timeouts you have to set, and the loop that actually works.
What virtual numbers cannot do
The honest list. Nine things people expect from a rented number that it will not give them, and what to use instead.
Migrating from handler_api.php in an afternoon
Change two constants and your existing bot keeps working. Then, if you want to, move to the REST API properly. Both halves, with the mapping table.
Reading a success-rate badge: what 87 % actually means
It is a trailing seven-day delivery rate with a confidence interval you cannot see. What it measures, what it excludes, and why 87 % on 25 samples tells you almost nothing.
Crypto-only billing: the numbers behind the decision
Three acquirer terminations, a 0.9 % chargeback rate on an eleven-cent product, and a conversion hit we are still paying for. The arithmetic, without the ideology.
Why we refund failed activations automatically
From today, an activation that expires without a message costs nothing. No ticket, no handling fee, no goodwill gesture. The mechanics and the reasoning.