1. Custody Bank Deposit
Nilpay
  • NilPay Bank Integration API
    • Custody Bank Deposit
      • Integration Guide
      • Initiate deposit transaction
        POST
      • Complete deposit transaction
        POST
    • Bank Cashout
      • Integration Guide
      • Inquiry for bank cashout
      • Initiate bank cashout
      • Complete bank cashout with OTP
    • Schemas
      • InitiateDepositRequest
      • BankCashoutInquiryRequest
      • CompleteDepositRequest
      • BankCashoutInitiateRequest
      • BankCashoutCompleteRequest
      • Depositor
      • BankCashoutInquirySuccessResponse
      • InitiateDepositSuccessResponse
      • ChargeResponse
      • BankCashoutInitiateSuccessResponse
      • AccountBasicInfo
      • BankCashoutCompleteSuccessResponse
      • CompleteDepositSuccessResponse
      • WalletBasicInfo
      • ErrorResponse
      • ValidationErrorResponse
      • TransactionResponse
      • ProblemDetailsResponse
  • NilPay External Party Transfer API
    • Transactions
      • Integration Guide
      • External Party Transfer To Wallet
    • Schemas
      • ExternalPartyTransferRequest
      • TransactionResponseData
      • ExternalPartyTransferSuccessResponse
      • ErrorResponse
  1. Custody Bank Deposit

Initiate deposit transaction

POST
/v1/transactions/custody-bank/deposit/initiate
Validates request and returns account details + fee information.

Request

Authorization
Basic Auth
Send your HTTP requests with an
Authorization
header that contains the word Basic followed by a space and a base64-encoded string username:password
Example:
Authorization: Basic *****************
API Key
Add parameter in header
X-Signature
Example:
X-Signature: ********************
API Key
Add parameter in header
X-Timestamp
Example:
X-Timestamp: ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Success
Bodyapplication/json

🟠400
🟠401
🟠404
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.dev.pynil.com/v1/transactions/custody-bank/deposit/initiate' \
--header 'Authorization: Basic <encoded-value>' \
--header 'X-Signature: <api-key>' \
--header 'X-Timestamp: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "walletNumber": "101000030",
    "amount": 500,
    "timestamp": "2025-08-03",
    "notes": "Layla deposits money"
}'
Response Response Example
200 - Successful initiation response
{
    "success": true,
    "message": "Success.",
    "statusCode": 200,
    "data": {
        "account": {
            "branchCode": "MAIN",
            "currencyCode": "SDG",
            "walletName": "Layla ismaeil",
            "status": "Active"
        },
        "charges": [
            {
                "name": "Custody Deposit",
                "amount": 20
            }
        ],
        "totalFees": 20
    }
}
Previous
Integration Guide
Next
Complete deposit transaction
Built with