Sign-up and login verification
A login code has a short life and a narrow job: prove the person holds the number now. Set a validity window, cap resends, rate-limit by number and device, and decide what happens on the third failure before launch. Message text should not include a balance, a full card number or a link to a login page, because codes get forwarded and screenshotted. Where the risk model requires it, pair the code with device binding, and offer an alternative channel when the message does not arrive. The OTP delivery and fraud explainer walks through the failure modes.