Skip to main content
GET
/
api
/
v3
/
deposit
/
on-chain
/
status
/
{reference_id}
Get Deposit Onchain Status
curl --request GET \
  --url https://sandbox-api.kotanipay.com/api/v3/deposit/on-chain/status/{reference_id} \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "message": "Deposit status successfully retrieved.",
  "data": {
    "mobile_money": {
      "id": "5f9b2c7b9c9d6b0017b4e6b1",
      "amount": 10,
      "wallet_id": "5f9b2c7b9c9d6b0017b4e6b1",
      "status": "PENDING",
      "reference_number": 123,
      "created_at": "2023-11-07T05:31:56Z",
      "transaction_cost": 123,
      "transaction_amount": 123,
      "customer_key": "<string>",
      "callback_url": "https://example.com",
      "reference_id": "5f9b2c7b9c9d6b0017b4e6b1",
      "provider": "<string>",
      "providerReference": "<string>",
      "providerRequest": "<string>",
      "providerResponse": "<string>",
      "callbackUrlStatus": 123,
      "callbackResponse": "<string>",
      "callbackPayload": {},
      "transactionError": "<string>",
      "retries": 123,
      "network": "<string>",
      "currency": "<string>",
      "environment": "<string>",
      "integratorsAmount": 123,
      "wallet": {},
      "customer": {},
      "paymentLinkTransaction": {},
      "updatedAt": "<string>",
      "confirmation_id": "<string>",
      "threeDSEci": "<string>",
      "uniqueIdentifier": "<string>",
      "initialDepositBalance": 123,
      "finalDepositBalance": 123,
      "error_message": "<string>",
      "error_code": "<string>",
      "error_description": "<string>"
    },
    "onchain": {
      "chain": "ETHEREUM",
      "token": "CUSD",
      "public_address": "<string>",
      "reference_id": "<string>",
      "crypto_amount": "<string>",
      "transaction_hash": "<string>",
      "status": "PENDING",
      "crypto_received_status": "PENDING"
    }
  }
}
Get the status of a deposit on-chain transaction, including both mobile money collection and blockchain transfer details.

Response Structure

The response contains two parts:
  1. mobile_money - Status of the mobile money collection
  2. onchain - Status of the blockchain transfer

Status Values

Mobile Money Status

StatusDescription
PENDINGSTK push sent, waiting for customer
SUCCESSFULPayment collected successfully
FAILEDPayment failed or cancelled

Crypto Received Status

StatusDescription
PENDINGBlockchain transaction in progress
SUCCESSFULCrypto received at destination
FAILEDBlockchain transaction failed

Example Response

{
  "data": {
    "mobile_money": {
      "id": "dep_abc123",
      "status": "SUCCESSFUL",
      "amount": 1450,
      "currency": "CDF",
      "transaction_amount": 1450,
      "transaction_cost": 50,
      "reference_id": "order_12345",
      "provider": "VODACOM",
      "created_at": "2025-01-07T12:00:00Z"
    },
    "onchain": {
      "status": "SUCCESSFUL",
      "crypto_received_status": "SUCCESSFUL",
      "chain": "POLYGON",
      "token": "USDT",
      "public_address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "crypto_amount": 0.65,
      "transaction_hash": "0xabc...def"
    }
  }
}

Webhook Notification

You’ll receive a webhook when the transaction completes:
{
  "event": "deposit.onchain.successful",
  "data": {
    "reference_id": "order_12345",
    "status": "SUCCESSFUL",
    "mobile_money_status": "SUCCESSFUL",
    "crypto_received_status": "SUCCESSFUL",
    "amount": 1450,
    "currency": "CDF",
    "crypto_amount": 0.65,
    "chain": "POLYGON",
    "token": "USDT",
    "transaction_hash": "0xabc...def",
    "created_at": "2025-01-07T12:00:00Z",
    "completed_at": "2025-01-07T12:02:30Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

reference_id
string
required

Response

success
boolean
Example:

true

message
string
Example:

"Deposit status successfully retrieved."

data
object