Create Institution Transfer

This endpoint initiates a blockchain asset transfer from the institution's vault associated with the auth token. The destination can be an external blockchain address or another institution on the platform.

POST {{host}}/api/v1/transactions/transfer

Request Message Description

#Field NameData TypeMax LengthRequiredDescription
1assetIdString-YesUnique identifier of the blockchain asset to transfer
2amountString-YesAmount to transfer (decimal string, e.g. "500.00")
3clientRefString50YesUnique caller-generated reference (10–50 chars, alphanumeric + hyphens)
4noteString-YesNarration or description for the transaction
5typeString-NoTransfer type (e.g. VAULT_ACCOUNT_TO_ONE_TIME_ADDRESS)
6addressString-ConditionalDestination blockchain address (required for external transfers)
7destinationEntityIdInteger-ConditionalDestination institution ID (required for internal transfers)
8transactionIdString-NoPre-generated transaction ID (optional; system generates if omitted)

Sample Request

{
  "assetId": "CNGN_B75VRLGX_8GWM",
  "amount": "500.00",
  "clientRef": "TXN-20260521-00123",
  "note": "Payment for settlement batch #42",
  "type": "VAULT_ACCOUNT_TO_ONE_TIME_ADDRESS",
  "address": "0xABCD1234.............."
}

Response Message Field Description

#Field NameDescription
1successIndicates whether the request was successful
2responseCodeHTTP-like response code (e.g. 200)
3responseMessageHuman-readable result message
4dataObject containing details of the created transaction
4.1data.institutionIdID of institution that initiated transfer
4.2data.assetIdAsset transferred
4.3data.blockchainBlockchain network used
4.4data.transactionTypeTransaction type (e.g. TRANSFER)
4.5data.amountAmount transferred
4.6data.feeChargedFee charged for transaction
4.7data.statusTransaction status (e.g. SUBMITTED, COMPLETED)
4.8data.subStatusDetailed processing status
4.9data.transactionIdSystem-generated transaction ID
4.10data.clientRefCaller-provided reference
4.11data.transactionHashOn-chain hash (once available)
4.12data.sourceAddressSource wallet address
4.13data.sourceWalletNameSource vault name
4.14data.destinationAddressDestination wallet address
4.15data.destinationWalletNameDestination wallet name (if applicable)
4.16data.destinationEntityIdDestination institution ID (if applicable)
4.17data.noteTransaction narration
4.18data.createdAtCreation timestamp
4.19data.updatedAtLast update timestamp

Sample Response (Success)

{
  "success": true,
  "responseCode": "200",
  "responseMessage": "Success",
  "data": {
    "institutionId": 3,
    "assetId": "CNGN_B75VRLGX_8GWM",
    "blockchain": "Base Testnet",
    "transactionType": "TRANSFER",
    "amount": "500.00",
    "feeCharged": "1.50",
    "status": "SUBMITTED",
    "subStatus": "PENDING_AML_SCREENING",
    "transactionId": "ISW-TX-20260521-8F3K",
    "clientRef": "TXN-20260521-00123",
    "transactionHash": null,
    "sourceAddress": "0x632E8..............",
    "sourceWalletName": "Acme Financial Services",
    "destinationAddress": "0xABCD1234..............",
    "destinationWalletName": null,
    "destinationEntityId": null,
    "note": "Payment for settlement batch #42",
    "createdAt": "2026-05-21T10:15:00",
    "updatedAt": "2026-05-21T10:15:01"
  }
}

Sample Response (Failure)

{
  "success": false,
  "responseCode": "400",
  "responseMessage": "Insufficient Balance"
}

Did this page help you?