---
title: "DMT — Send Money — API Recipe"
description: "Full domestic money transfer flow: look up the sender, onboard them if new, add the recipient, then send an OTP-verified transfer."
canonical: "https://eps.eko.in/recipe/dmt-send-money"
---


> **Canonical URL:** https://eps.eko.in/recipe/dmt-send-money
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# DMT — Send Money — API Recipe

Full domestic money transfer flow: look up the sender, onboard them if new, add the recipient, then send an OTP-verified transfer.

> Product & pricing details: [Domestic Money Transfer (DMT)](https://eps.eko.in/products/dmt-api.md)

## Flow

```mermaid
flowchart TD
  s1["GET Get Sender Profile"]
  s2["POST Onboard Sender"]
  s3["POST Add Recipient"]
  s4["POST Send Transaction OTP"]
  s5["POST Initiate Transfer"]
  done(["done"])
  s1 -->|"response_type_id 308: Sender not found — onboard them before continuing."| s2
  s2 --> s3
  s3 --> s4
  s4 --> s5
  s5 -->|"response_status_id 0"| done
```

## Steps

1. `GET` **[Get Sender Profile](https://eps.eko.in/docs/dmt-get-sender.md)** — Check whether the customer is already a registered DMT sender.
   - If `response_type_id` is `308` → go to step 2 (Onboard Sender). Sender not found — onboard them before continuing.
2. `POST` **[Onboard Sender](https://eps.eko.in/docs/dmt-onboard-sender.md)** — Register a new sender when Get Sender API returns `response_type_id=308`.
3. `POST` **[Add Recipient](https://eps.eko.in/docs/dmt-add-recipient.md)** — Add the beneficiary the sender wants to transfer to.
4. `POST` **[Send Transaction OTP](https://eps.eko.in/docs/dmt-send-otp.md)** — Trigger the transaction OTP sent to the sender.
5. `POST` **[Initiate Transfer](https://eps.eko.in/docs/dmt-initiate-transfer.md)** — Submit the OTP-verified transfer to complete the flow.
   - If `response_status_id` is `0` → the flow is complete.

## Notes

- Call the steps in the order shown above; each links to its full API reference.
- Branch on the exact field each step names above: `response_type_id` says which response shape came back (the usual routing key), while `response_status_id` carries the status of a financial transaction.
- All requests are signed; see [How Auth Works](https://eps.eko.in/docs/how-auth-works).
