What are DiMo and CoDi?
DiMo and CoDi are not separate payment systems: they are experience layers Banco de México built on top of SPEI. In all three cases the money settles over SPEI. What changes is how the recipient is identified and who initiates the operation.
For an institution this has one direct practical consequence: offering DiMo or CoDi does not require a new rail, it requires extending the SPEI integration you already have. The work is in registration, identifier resolution, and the app experience, not in settlement.
SPEI, CoDi and DiMo compared
| Criterion | SPEI | CoDi | DiMo |
|---|---|---|---|
| What it is | Settlement system | Collection layer on SPEI | Send layer on SPEI |
| Identifier | CLABE | Quick-response code or notification | Mobile phone number |
| Who initiates | The payer | The party collecting | The payer |
| Typical use | Transfer, payroll, disbursement | In-store collection | Person-to-person send |
| Settlement | SPEI | SPEI | SPEI |
| Mandatory | Yes, to participate | No | No, as of today |
What an institution has to implement
Registration and linking
The customer links their phone number to one of their accounts from the app. You have to handle enrollment, removal, changing the linked account, and the case of a number that changes owner.
Identifier resolution
At payment time, translate the phone number into a destination account by querying the directory, and handle clearly the cases where the number is not registered.
Experience and confirmation
Show the user who they are about to pay before they confirm, which is the control that prevents wrong-recipient errors, and return an unambiguous confirmation.
Settlement over SPEI
The operation is sent and settled over SPEI like any other transfer, with the same signature, the same receipt and the same reconciliation.
Because settlement does not change, the receipt for a DiMo operation is still the same SPEI electronic payment receipt. See what the CEP is and how to validate it.
Why to treat it as baseline capability
Banco de México made DiMo available to any interested SPEI participant, and adoption has been each institution’s decision. More than twenty already offer it. In 2026 Banxico proposed standardizing mobile transfers within SPEI.
The reasonable reading for a technology team is not that DiMo is urgent because it is required, but that the ability to pay using an identifier other than the CLABE tends to become a customer expectation. It is worth designing it as a module of the SPEI channel from the start, rather than bolting it on later.
Common implementation mistakes
Treating it as a separate rail
A parallel stack gets built for DiMo, with its own reconciliation and its own monitoring. It ends up duplicating work, because settlement was SPEI all along.
Not handling number reassignment
Phone numbers get reassigned. Without a removal and re-linking process, a payment can land in the account of whoever previously held that number.
Ambiguous confirmation
If the screen does not clearly show who is about to be paid before confirming, a wrong number becomes a wrong transfer, and then a complaint.
Leaving it out of the contingency plan
When the channel fails over, nobody defined what happens to flows initiated by phone number or what the user is told. See the contingency modes.
How InterPago solves it
For us DiMo and CoDi are modules of the SPEI channel, not separate projects. The same platform that handles messaging, signing, settlement and reconciliation exposes identifier registration and payment-time resolution, with the same immutable trace and the same operations dashboard. If your institution is not connected yet, it is designed from the start to support this; if you already run SPEI with us, it is added as a module.
Frequently asked questions
What is DiMo?
DiMo (Dinero Móvil) is a Banco de México service that lets you send transfers using the recipient's mobile phone number instead of their CLABE. It is not a separate payment system: the transfer settles over SPEI. The mobile number acts as the payment identifier, linked by the user to an account from their institution's app.
How do SPEI, CoDi and DiMo differ?
SPEI is the settlement system. CoDi and DiMo are experience layers built on top of it. CoDi is initiated by the party being paid, through a quick-response code or a notification, so the merchant requests the payment. DiMo is initiated by the payer, using the recipient's phone number. In all three cases the money moves over SPEI.
Is a bank required to offer DiMo?
Not today. Banco de México made the service available to any SPEI participant interested in offering it, and adoption is each institution's decision. More than twenty institutions already offer it. In 2026 Banxico proposed standardizing mobile transfers within SPEI, so it is worth treating the capability as something that will tend to become standard rather than a lasting differentiator.
What does an institution need in order to offer DiMo?
It must be a SPEI participant, handle registration and linking of the phone number to the customer's account, query the directory to resolve a number into a destination account at payment time, and expose the flow in its app with the right validations and a clear confirmation. Settlement is still SPEI, so this adds to the existing integration rather than replacing it.
Do DiMo and CoDi affect SPEI contingency?
Yes, indirectly. Both layers depend on SPEI being available, so they are subject to the same backup modes as the channel. When planning contingency it is worth defining explicitly what happens to flows initiated by phone number or by code when the primary channel fails over, and how that is communicated to the end user.
See also SPEI connection requirements, direct or indirect participant or request a free assessment.