Skip to content
Logo MoneyGo

Transfer

This endpoint initiates the transfer for Money-Go transactions. The functionality differs based on the role of the user:

  • Merchants: It means that the user withdraws Money-Go funds (Withdraw).
  • Partners: It means that the user sell Money-Go funds (Buy Funds).

Important Notes:

  • Wallet Currencies: The currencies of both the sender’s and receiver’s wallets must be identical. Any mismatch in currencies will cause the transaction to fail.

  • Transaction Limits: The minimum and maximum transaction amounts depend on the currency. Contact our managers to determine the exact limits for each currency.

  • Wallet Verification: You can also use it to check another user’s wallet using the CHECK wallet! method.

  • Recipient Wallets: The recipient’s wallet must not be the same as the sender’s wallet and must belong to a different user. This ensures that funds are not inadvertently transferred within the same account.


  • Method: POST
  • URL: https://api.money-go.com/api/transaction/transfer
  • Headers:
  • Authorization: Bearer YOUR_ACCESS_TOKEN
  • Content-Type: application/json


{
"wallet_from": "U68",
"wallet_to": "U41",
"amount": "10",
"payment_id": "",
"description": ""
}
FieldTypeDescription
wallet_fromstringThe sender’s wallet identifier.
wallet_tostringThe recipient’s wallet identifier.
amountstringThe transaction amount (e.g., "10").
payment_idstring(Optional) The payment identifier.
descriptionstring(Optional) A description for the transaction.

Terminal window
curl -X POST "https://api.money-go.com/api/transaction/transfer" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"wallet_from": "U68",
"wallet_to": "U41",
"amount": 10,
"payment_id": "",
"description": ""
}'
{
"status": true,
"data": {
"id": 123,
"message": "Transaction complete success"
}
}
FieldTypeDescription
statusbooleanIndicates whether the request was successful.
dataobjectContains additional details about the transaction.
FieldTypeDescription
idnumberUnique identifier for the transaction.
messagestringConfirmation message indicating that the transaction was successfully completed.

When a POST request is made to the /api/transaction/transfer endpoint, the API may return error responses with HTTP status code 4XX if any validation fails. Below is a table summarizing the possible error responses:

Error CodeError MessageDescription
403Sorry scope missedRole model compliance check (authorization token matches user role)
422Route locked to avoid duplicationThe endpoint was called twice simultaneously. The second call is blocked to prevent duplicate processing.
422Method locked please try again laterThe number of requests per minute has been exceeded. The request limit is enforced; please try again later.
422This value should not be blank.A required field (such as amount, wallet_from or wallet_to) is missing a value.
422This value should be positive.The value of the amount field must be positive.
422Wallet to not existsThe destination wallet (wallet_to) does not exist or is inactive (e.g., deleted or in status NEW) or insufficient balance.
422Wallet from not existsThe sender wallet (wallet_from) does not exist or is inactive (e.g., deleted or in status NEW) or insufficient balance.
422Minimum amount exceeded %min% for %currency%The transaction amount is below the allowed minimum for the specified currency.
422Maximum amount exceeded %max% for %currency%The transaction amount is above the allowed maximum for the specified currency.
422Currency is disabledThe specified currency is currently disabled and cannot be used for transactions.
422balance - amount - commission < 0The sender’s wallet does not have sufficient funds, taking into account the commission (i.e., the amount exceeds the available balance).
422Direction not activeThe direction for the specified currency is not active at the moment
422User is blockedThe recipient’s or sender’s account has been blocked. Please check the “translation” field for more details ("server_error.sender_account_is_blocked" or "server_error.recipient_account_is_blocked").