BINANCE SAPI · C2C

Get Chat Image Pre-Signed URL API

Generate an authorized, temporary pre-signed URL and storage key to upload payment receipts, transfer screenshots, and verification images directly to Binance C2C storage.

ENDPOINT
POST /sapi/v1/c2c/chat/image/pre-signed-url
Authentication USER_DATA / SIGNED
API Group C2C / Chat
Method POST
Response JSON

Overview

This endpoint enables trading bots, customer support tools, and merchant webhooks to request a temporary, pre-signed upload URL for sending image files within Binance C2C (P2P) order chat sessions. By providing the desired file name (imageName), the service returns a signed S3/object storage target URL along with the resulting resource identifier.

Once the client uploads the raw binary image data (such as a banking payment receipt or bank slip) directly to the pre-signed URL via HTTP PUT, the generated image URL or identifier can be shared inside the C2C order chat conversation. For automated workflows, see our step-by-step tutorial on sending payment receipts to Binance P2P chat using Python WebSocket.

01

Request Parameters

Parameters accepted in Body and HTTP Headers.

Parameter In Type Required Description
clientType Header STRING Required Client Device Type initiating the request (e.g., WEB, APP, WEB_MOBILE).
imageName Body STRING Required Source image filename including extension (e.g., payment_proof.jpg, receipt_123.png).
x-gray-env Header STRING Optional Environment flag identifier used for internal gray/stage testing.
x-trace-id Header STRING Optional Custom client trace ID for request lifecycle tracking and debugging.
x-user-id Header STRING Optional Target user identifier for context validation.
i
Direct Binary Upload Workflow

The returned preSignedUrl is time-limited. Upload the image payload directly using an HTTP PUT request to the provided URL before expiration.

02

Request Example

Example POST request using cURL to obtain an image upload pre-signed URL.

cURL BASH
curl -X POST \
'https://api.binance.com/sapi/v1/c2c/chat/image/pre-signed-url' \
-H 'clientType: WEB' \
-H 'Content-Type: application/json' \
-d '{
  "imageName": "bank_transfer_receipt.jpg"
}'
03

Response

Example response returned on successful generation.

RESPONSE 200 OK
{
    "code": "000000",
    "message": "success",
    "data": {
        "preSignedUrl": "https://binance-c2c-upload.s3.amazonaws.com/chat/2026/08/17/img_987654321.jpg?AWSAccessKeyId=...",
        "imageUrl": "https://binance-c2c.s3.amazonaws.com/chat/2026/08/17/img_987654321.jpg",
        "imageKey": "chat/2026/08/17/img_987654321.jpg"
    },
    "success": true
}

Response Fields

Field Type Description
code STRING Standard Binance status code ("000000" indicates success).
message STRING Status description or response feedback message.
data.preSignedUrl STRING Direct authorization upload endpoint where the binary image file must be sent via HTTP PUT.
data.imageUrl STRING Publicly accessible CDN/storage URL of the uploaded image to attach in C2C chat messages.
data.imageKey STRING Internal storage object key identifier representing the image resource.
success BOOLEAN Indicates overall request execution result.
04

How It Works

Workflow for uploading and sending chat images in Binance P2P.

01 Request Upload URL POST imageName to /image/pre-signed-url.
02 Upload Binary Send HTTP PUT request with raw image bytes to preSignedUrl.
03 Obtain Image URL Use data.imageUrl / imageKey as confirmed media resource.
04 Send in Chat Post message containing image proof into order chat stream.

Common Use Cases

Automated Payment Receipts

Automatically upload and send bank transfer PDF/JPG confirmation receipts directly into the trade chat upon fiat execution.

Proof of Identity & KYC

Provide verified counterparty verification documents securely within order dispute or verification flows.

Merchant Desk Uploads

Integrate drag-and-drop receipt upload capabilities into custom merchant operator consoles and mobile helper apps.



💬
Telegram WhatsApp