Marketplaces

Trust between parties in Marketplaces

We check the seller's ID against the INE Lista Nominal, the CURP against RENAPO and the RFC against the SAT. Buyers are screened with phone and email in the same call. One score per file, with every query on record.

5
possible verdicts from the INE Lista Nominal per ID card
0–100
risk score scale: starts at 50, every signal adds or subtracts
24 h
validity of the seller identity verification link
4
maximum retries of the signed webhook delivering each result
Both sides

Singula runs quick signals on the buyer and the full file on the seller

Phone and email answer in the same call. The seller's ID is checked against the INE Lista Nominal. Bans anchor to the CURP validated at RENAPO. The consolidated score stays on the file.

Your ban list lives in your own database. Singula does not share blocks between customers.

Where it fits in your operation

Seller KYC before releasing their first payout
Buyer phone and email at signup, without asking for documents
Detection of deregistered, duplicated or stolen ID cards
Bans on removed sellers anchored to the validated CURP
Sanctions list search before releasing held funds
Company-seller file: RFC checked with the SAT plus judicial records

The products behind this solution

INE Lista Nominal

Front and back OCR, plus the ID card status held by the INE.

Identity verification

Selfie with liveness against the document photo, plus MRZ check digits.

Phone and email

Carrier and line type (VoIP included); email footprint across platforms.

Sanctions lists

Nine categories of public-source lists: sanctions, criminal, PEP, fiscal, debarment and more.

Digital footprint

Open search across web, news and the seller's public profiles.

Risk score

Aggregates the checks already run on the file into a 0-100 scale.

How it works

Four steps on the same file. Inline checks answer immediately; asynchronous ones notify by webhook.

Step 1

Open the file

The file is created with name, surnames and date of birth. Email and phone are stored on the same file for the checks that follow.

Your system or the dashboard

Step 2

Check phone and email

The response indicates the carrier, the line type (VoIP included) and on how many platforms the email is registered.

Within the same call

Step 3

Validate the ID card

Front and back OCR plus the Lista Nominal lookup. If the card is deregistered, the response returns the reason: duplicate, death, forged paperwork.

INE Lista Nominal

Step 4

Run KYC and lists

A link valid for 24 hours collects the liveness selfie; the sanctions search runs on the same file. The consolidated score is stored.

Score on the file

Applicable framework

The obligations that apply to a general marketplace.

A general marketplace does not report to the CNBV. Its obligations come from the data protection law, the consumer protection law and, if it brokers certain categories, the anti-money-laundering law.

Sensitive personal data
LFPDPPP · DOF 20-03-2025 / Art. 2 & 8
E-commerce
LFPC / Art. 76 bis fr. III
Vulnerable Activities
LFPIORPI / Art. 17

General references, not legal advice. Singula is an input to your process; the obliged party is still your platform. Identification and reporting thresholds vary by subsection of LFPIORPI article 17; how each category is classified is a question for your counsel.

  1. 01

    Biometrics as sensitive data

    The LFPDPPP treats biometric data as sensitive when it reveals information of that nature. Processing it requires express written consent plus a privacy notice. Both are the platform's responsibility; Singula does not collect them for you.

  2. 02

    Seller identity

    The Federal Consumer Protection Law requires the seller to disclose identity and physical address in electronic transactions. PROFECO can demand those details from the platform. The Singula file keeps the validated identity plus the date and result of every check.

  3. 03

    Vulnerable Activities

    If you broker vehicles, jewellery, artwork or real estate, the transaction may fall under one of the subsections of article 17 of the LFPIORPI. Those subsections require identifying the client, building a file and filing reports with the UIF through the SAT portal.

  4. 04

    Minimal image retention

    The image URLs Singula returns are signed and expire in 600 seconds. The file records what was checked, when and with what result; the identity link also records the device, IP and time.

API REST

Signals in the same call, the file by webhook

Phone and email answer within the same call, inside the signup flow. INE validation and identity verification run in the background and notify you by webhook when they finish.

No mandatory SDK: HTTP with a Bearer token, from any language
Webhooks signed with HMAC-SHA256, up to 4 retries with backoff
Free sandbox: same payloads, never touching RENAPO, the SAT or the INE
marketplace-onboarding.sh
# 1 · Teléfono del comprador: operador, región y tipo de línea
curl https://api.singula.mx/app/phone-lookup/customer/cus_lzk9m4ab3f \
  -H "Authorization: Bearer sk_live_..."

→ { "valid": true, "country": "MX", "carrier": "Telcel",
    "line_type": "voip", "region": "Ciudad de México" }
  # Responde en la misma llamada y queda en el expediente.

# 2 · Credencial del vendedor: OCR + Lista Nominal del INE
curl -X POST https://api.singula.mx/app/ine-extraction/customer/cus_lzk9m4ab3f \
  -H "Authorization: Bearer sk_live_..." \
  -F "ine_front=@ine_frente.jpg" \
  -F "ine_back=@ine_reverso.jpg"

→ { "request_id": "req_66f1c4a2e93b07d1", "status": "processing" }

// Webhook al cerrar la cadena OCR → Lista Nominal:
{
  "event":        "ine_extraction.completed",
  "request_id":   "req_66f1c4a2e93b07d1",
  "customer_id":  "cus_lzk9m4ab3f",
  "extract": {
    "ine_model":      "G",
    "nombre":         "GARCÍA HERNÁNDEZ MARÍA FERNANDA",
    "curp":           "GAHM900315MDFRRR05",
    "clave_elector":  "GRHRMR00000000M000",
    "seccion":        "1247",
    "vigencia":       "2031"
  },
  "listanominal": {
    "outcome":      "dada_de_baja",
    "baja_reason":  "duplicado",
    "queried_at":   "2026-04-30T14:22:08Z"
  }
}
# "vigente" es el único de los 5 veredictos que confirma la credencial.

Frequently asked questions

No. Buyers are screened with the phone and email checks; the phone lookup answers in the same call. Identity verification runs on the seller, before their first payout is released.

The ban is anchored to the CURP. The RENAPO check returns a field-by-field match — name, surnames, date of birth, gender — rated high, medium or low. RENAPO can reissue a CURP after a birth-record correction or a data fix. Your ban list stays in your database and is never shared between customers.

That is what identity verification is for: it matches the face on the document against a selfie with liveness, and verifies the MRZ check digits. If any of those three fails, the verdict is "rejected" no matter how high the rest of the score came out.

Yes. Phone, CURP and RFC answer in the same call; the INE Lista Nominal check and identity verification are asynchronous and notify your system by webhook. The block can also be applied to the first listing or the first payout, with signup left open.

Yes. If RENAPO answers "not found" or the SAT indicates the RFC is not registered, the query ran and it is billed. When the source fails or times out, the query is logged as an error and is not billed.

Yes. The file is created with type moral and the company RFC is validated with the SAT. The judicial records search has a legal-entity variant that queries by legal name and trade name instead of first and last names.

Verify both sides of your platform

Create the account, point the webhook at your backend and run the whole flow in sandbox at no cost. Your first top-up enables CURP, RFC, INE, phone and email; sanctions lists and identity verification unlock once KYB is complete.