Escrow APIHMAC secured

Build escrow account, payment, and reporting flows from one API surface.

Use Realtimate escrow APIs to create accounts, trigger UPI payment requests, manage stakeholders, transfer ownership, register users, and receive signed webhook notifications.

View Endpoints
8
documented endpoints
6
POST operations
2
PUT operations

Authenticate

Every request uses the auth header, which identifies the external escrow API user.

Sign Payloads

Send x-payload-signature as the HMAC-SHA256 digest of JSON.stringify(request body).

Verify Webhooks

Callbacks include X-Payload-Signature so your receiver can reject tampered payloads.

POST/escrow/new-account

Create New Account

Creates a new escrow account

Signature: Required

Request Headers

auth
Your API Key
x-payload-signature
HMACSHA256(JSON.stringify(request body), secretKey)

Mandatory Body

KeyTypeDescription
escrowUseCasestringAllowed values: "eoisale", "eoirental", "rentalsecurity", "saleadv", "rentcol"
descriptionstringA brief description of the escrow account
secondPartiesArrayNon-empty array. Each party requires countryCode, phone, email, firstName, lastName, panNumber
propertyAddressObjectRequires addressLine1, city, state, pincode. addressLine2 is optional
externalRefstringUnique external reference for this escrow account. Duplicate values are rejected

Optional Body

KeyTypeDescription
callbackUrlstringWebhook URL for escrow account and deposit updates
tokenAmountnumberInitial UPI intent amount. Must be between 0 and 100000
dateDuestringISO 8601 due date. Allowed only when tokenAmount is present and greater than 0, and must be at least 1 hour in the future
method"async" | "sync"Defaults to "async". Use "sync" to wait up to 60 seconds for account details and optional payment details
firstPartiesArrayOptional non-empty array. Each party requires countryCode, phone, email, firstName, lastName
sellersArrayOptional non-empty array. Each seller requires countryCode, phone, email, firstName, lastName
stakeholdersArrayOptional array of registered stakeholders. Each stakeholder requires email

Behavior Notes

  • secondParties cannot overlap with firstParties, sellers, stakeholders, ownership admins, or the creator.

Sample Request

{
  "escrowUseCase": "eoisale",
  "description": "For Brigade Metropolis",
  "secondParties": [
    {
      "countryCode": "91",
      "phone": "9999999999",
      "email": "buyer@example.com",
      "firstName": "Mayank",
      "lastName": "Jain",
      "panNumber": "AAAAA1234A"
    }
  ],
  "propertyAddress": {
    "addressLine1": "Tower A, Brigade Metropolis",
    "addressLine2": "Whitefield",
    "city": "Bengaluru",
    "state": "Karnataka",
    "pincode": "560097"
  },
  "callbackUrl": "https://yourapp.com/webhooks/escrow",
  "externalRef": "BOOKING-1001",
  "tokenAmount": 50000,
  "dateDue": "2026-05-08T13:00:00.000Z",
  "method": "sync"
}

Sample Responses

Async Response
{
  "result": "success"
}
Sync Response
{
  "accountNum": "RLTM250773061550",
  "accountName": "Realtimate Labs",
  "ifscCode": "ICIC000123",
  "bankName": "ICICI Bank",
  "accountType": "Current",
  "externalRef": "BOOKING-1001",
  "paymentIntent": "upi://pay?pa=REALTIMATE@icici&pn=Realtimate Labs&tr=REF123&am=50000&cu=INR&mc=5411",
  "paymentLink": "https://pay.realtimate.in/p/abc123",
  "dateDue": "2026-05-08T13:00:00.000Z",
  "amount": "50000"
}

Webhook Notifications

Signed callbacks for escrow events

Webhooks are sent to the callbackUrl supplied during escrow account creation. Every callback includes X-Payload-Signature for verification.

Account Created Callback

Sent after the escrow account and virtual account details are ready. Account creation usually takes 30-60 seconds.

{
  "event": "escrow_created",
  "externalRef": "BOOKING-1001",
  "accountNum": "RLTM000124",
  "accountName": "Mark Singh",
  "ifscCode": "ICIC000123",
  "bankName": "ICICI Bank",
  "status": "active"
}