1. Wallet
BPN OpenAPI
  • Getting Started
    • Introduction to BPN
    • Key Concepts & Terminology
    • Architecture Overview
  • Onboarding & Prerequisites
    • Product Demo
    • Sandbox & Test Environment
    • Signature Authentication Mechanism
  • Use Case
    • Transfer
    • Vault
    • On/Off Ramp
    • Compliance (Travel Rule Information Submission)
    • Fiat Collection(BRL PIX for example)
  • API Reference
    • Account Management
      • Inquiry Master VA Balance
      • Create Virtaul Account
      • Get Virtual Account Detail
      • List Virtual Account
      • Send Email Verify Code
      • Query bank info by account number
      • Payout via Virtual Account
      • Refund Virtual Account Order
      • Get Virtual Account Order Detail
      • List Virtual Account Orders
      • Submit Invoice
      • Get Invoice list Status
      • List Banks
      • Add Bank Account
      • List Bank Account
      • List RFI Sub Virtual Account
      • Get Sub Virtual Account RFI Template Info
      • Sub Virtual Account Submit RFI
    • Wallet
      • List Wallets
        GET
      • List Sub Account
        GET
      • Create Sub Account
        POST
      • Wallet Internal Transfer
        POST
      • Get Asset Balance
        GET
      • Get Deposit Address
        GET
      • Add Deposit Sender
        POST
      • Add Withdraw Whitelist
        POST
      • Delete Withdraw Whiltelist
        POST
      • Request Withdraw
        POST
      • Query Transaction History
        GET
    • FX
      • Inquery FX Rate
    • BPN Transactions
      • Get Stablecoin Quote
      • Create Stable Order
      • Get Order (Single) Detail
      • List Orders(Batch)
    • Reconciliation
      • Get Reconciliation Order List By Page
    • Crypto Payment Link
      • Abnormal fund
        • Abnormal funds
        • Matchable Payment links
        • Link Order(Abnormal fund)
        • Submit to platform
      • Create Payment Link
      • List Payment links
      • Get Curreny Network Config
    • External Provider
      • FE: Create stablecoin collection sub-account link
      • Create stablecoin collection sub-account link
      • Get sub wallet account
      • List sub wallet accounts
      • Change sub wallet status
      • Query stablecoin collection order list
      • Query stablecoin collection order status
      • Get quote
      • Accept stablecoin collection order
      • Reject stablecoin collection order
      • Query USD balance
      • USD Payout (withdrawal)
      • Query USD Payout order status
      • Query USD Payout order list
    • Mock
      • Mock Virtual account Payin Order
      • Mock wallet deposit transaction
  • Webhooks & Events
    • Resend Fail Webhook
    • Open Virtual Account Status
    • Virtual Account Payment Status
    • Virtual Account Invoice update
    • Transaction Status Notification
    • KYB Status Notification
    • Deposit Sender Detail Required
    • Abnormal Fund Notification
    • wallet address whitelist
    • Sub Virtual Account RFI Required
    • Sub Wallet Update
    • Crypto Deposit Order Notification
    • Collect Order Updated
    • Usd Payout Order Updated
  • Appendix
    • Enum
    • Virtual Account(VA) Support List & KYB requirement
  • Release Notes & Changelog
    • Version History
  • Schemas
    • walletBalance
    • walletAddress
    • transactionRecord
  1. Wallet

Add Deposit Sender

POST
/v1/wallet/add-deposit-sender
This endpoint is designed to meet regulatory compliance and Travel Rule requirements. For every stablecoin deposit received into your wallet, you must provide detailed payer information. This information is essential for identifying the origin of funds and ensuring that all transactions meet applicable anti-money laundering (AML) and cross-border payment compliance standards.
When a deposit is detected, the system will automatically send you a webhook notification requesting the submission of payer details. The required fields typically include (but are not limited to):
• Payer Name – The legal name of the sender.
• Payer Wallet Address – The blockchain address from which the funds were sent.
• Payer Resident Country – The country or region where the payer resides.
• Originating VASP/Platform – The Virtual Asset Service Provider (VASP) or exchange from which the funds originated.
You should call this API promptly after receiving the webhook to ensure uninterrupted processing of the deposit. Failure to provide accurate and timely information may result in the deposit being delayed or rejected due to non-compliance.

Request

Body Params application/json

Example
{
    "hash": "0x9fe2d3c4b5a69788c1d2e3f4a5b6c7d8e9f00112233445566778899aabbccdde",
    "transactionId": "txn_20250809_0001",
    "depositOriginator": 1,
    "orgType": 0,
    "bnfType": 0,
    "orgName": "Carlos Hernández",
    "orgFirstName": "Carlos",
    "orgLastName": "Hernández",
    "country": "mx",
    "state": "CDMX",
    "region": "Centro",
    "city": "Ciudad de México",
    "pinCode": "06000",
    "address": "Av. Paseo de la Reforma 305, Juárez, Cuauhtémoc",
    "corpName": null,
    "corpCountry": null,
    "receiveFrom": 1,
    "vasp": "others",
    "vaspName": "Bitso",
    "declaration": true
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/v1/wallet/add-deposit-sender' \
--header 'Content-Type: application/json' \
--data-raw '{
    "hash": "0x9fe2d3c4b5a69788c1d2e3f4a5b6c7d8e9f00112233445566778899aabbccdde",
    "transactionId": "txn_20250809_0001",
    "depositOriginator": 1,
    "orgType": 0,
    "bnfType": 0,
    "orgName": "Carlos Hernández",
    "orgFirstName": "Carlos",
    "orgLastName": "Hernández",
    "country": "mx",
    "state": "CDMX",
    "region": "Centro",
    "city": "Ciudad de México",
    "pinCode": "06000",
    "address": "Av. Paseo de la Reforma 305, Juárez, Cuauhtémoc",
    "corpName": null,
    "corpCountry": null,
    "receiveFrom": 1,
    "vasp": "others",
    "vaspName": "Bitso",
    "declaration": true
}'

Responses

🟢200OK
application/json
Body

Example
{
    "status": 200,
    "code": null,
    "msg": null,
    "traceId": "Auto:bf288b9af2e04dff88e943f2dcaf2b03",
    "data": {
        "success": true
    }
}
Previous
Get Deposit Address
Next
Add Withdraw Whitelist
Built with