> HOTP/TOTP has a registration step, where you copy a server-generated secret to your phone through a QR-code-encoded otpauth:// URI
RFC4226 and RFC6238 do not specify anything but the actual algorithm(s), which is exactly what OP implemented.
RFC4226 and RFC6238 do not specify anything but the actual algorithm(s), which is exactly what OP implemented.