PayAnyCoin API
Submit a PayAnyCoin crypto payout request and understand the response, fees, permissions, and operational requirements.
PAYC lets you submit a crypto payout by sending the payout details in one API request.
The response includes the settlement outcome, fees, traceId when applicable, and transactionReference when the transfer is recorded. The beneficiary’s crypto address is handled securely through the secure data layer.
Endpoint
| Method | Path |
|---|---|
POST | /api/payments/crypto-payout/execute |
Use the endpoint under the client API base URL. For example:
POST https://demo.mifinity.com/api/payments/crypto-payout/executePOST https://secure.mifinity.com/api/payments/crypto-payout/executeHeader
| Parameter | Type | Description |
|---|---|---|
| Content-Type | String | Use value 'application/json' |
| Accept | String | Use value 'application/json' |
| x-api-version | String | Use value 1 |
| Key | String | API key |
Request body
Send the payout details in the JSON request body.
| Field | Type | Required | Purpose |
|---|---|---|---|
sourceAccount | String | Required | Account debited for the payout, using the formatted account number. |
money | Object | Required | The Object containing two String attributes: amount and currency of the transfer |
traceId | String | Required | Your reference for this payout. |
cryptoPayee.firstname | String | Required | Recipient first name |
cryptoPayee.lastname | String | Required | Recipient last name |
cryptoPayee.dob | String | Required | Date of birth (YYYY-MM-DD) |
cryptoPayee.cryptoCurrency | String | Required | Asset code, such as USDT or USDC. |
cryptoPayee.protocol | String | Required | Network protocol |
cryptoPayee.cryptoAddress | String | Required | Recipient wallet address. |
cryptoPayee.countryCode | String | Required | ISO country code for routing or context. |
description | String | Optional | Optional transaction description. Length limits apply. |
The object field Money is defined as below:
Money
| Field | Type | Required | Description |
|---|---|---|---|
| amount | Number | true | Transaction value |
| currency | String | true | Currency code (ISO 4217) |
Example request
{
"sourceAccount": "5001000045806815",
"money": {
"amount": 10,
"currency": "EUR",
"display": ""
},
"traceId": "550e8400-e29b-41d4-a716-446655440000",
"description": "Pay Any Coin Test",
"cryptoPayee": {
"firstName": "Tom",
"lastName": "Mathew",
"dob": "1985-07-22",
"countryCode": "IE",
"cryptoAddress": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
"cryptoCurrency": "USDT",
"protocol": "TRC20"
}
}Response payload
The API returns a payout response object within the standard payload envelope.
| Field | Purpose |
|---|---|
quoteReference | Quote reference. |
traceId | Trace identifier when returned. |
transactionReference | Ledger transaction reference when present. |
statusCode / statusMessage | Outcome of processing. |
sourceMoney / destinationMoney | Amounts for the source and destination sides of the payout. |
displayRate | Rate information when present. |
totalFees | Total fees in the source currency when present. |
datePosted | Timestamp. |
Example response
{
"payload": [
{
"quoteReference": "a5d53202-2235-412a-89a0-787f60c04985",
"traceId": "5a1219fe-3fb1-4caf-88fe-c008b150a880",
"transactionReference": "3ac5ec3a-c159-4987-8deb-d4e54b420564",
"statusCode": 7,
"statusMessage": "PENDING",
"sourceMoney": {
"currency": "EUR",
"amount": 10,
"actual": 10
},
"destinationMoney": {
"currency": "USDT",
"amount": 11.53904,
"actual": 11.53904
},
"datePosted": "2026-06-10T14:32:02.296Z",
"exchangeRate": {
"base": "EUR",
"counter": "USDT",
"rate": 1.15390396
},
"totalFees": {
"amount": 2.5,
"currency": "EUR",
"presentationAmount": "EUR2.5"
}
}
]
}Fees
Responses include totalFees where applicable. Fees can include internal program fees, processor fees, and network fees, expressed in the source transaction currency when conversion succeeds.
Operational notes
- KYC and limits: Withdrawal limits apply to the payout amount.
- TOTP: If two-factor authentication is enabled, include the appropriate security header when the API requires it.
Updated 7 days ago