I used to work for a registrar and had the job of connecting up to the registries, who are the entities that ultimately allocate the domain names. (Yeah great naming choice, no chance of those words being confused with each other.) Registrars talk to registries via EPP, an xml based specification. While there is a spec, the registries variously mess it up in odd and interesting ways, all of which I got to discover as we did these integrations. .io was by far the worst. I remember that you could renew domain names in units of either 1, 2, or 5 years. It was like a developer had done the dynamic programming problem with coins and decided that they would put that in their api.
Considering that .io seems to have been adopted as a signal of "geeky tech cred", I always laugh, and think really it stands for .ironic.