Create a Payout Request
Get the source Account ID
Use the get Accounts endpoint to get the ID for the Account that will be the source for the payout.
Example request
curl --request GET \
--url http://app.muralpay.com/api/accounts \
--header 'accept: application/json' \
--header 'authorization: Bearer $API-KEY' \
--header 'on-behalf-of: 807742f0-e76c-44cd-bbe9-30b02e0060f4'
Example response
[
{
"id": "5d75e362-0812-4ea8-b203-c7c3a09f8473",
"createdAt": "2025-04-05T03:31:00.360Z",
"updatedAt": "2025-04-05T03:31:00.360Z",
"name": "Main Account",
"isApiEnabled": true,
"status": "ACTIVE",
"accountDetails": {
"balances": [
{
"tokenAmount": 0,
"tokenSymbol": "USDC"
}
],
"walletDetails": {
"walletAddress": "0xD3AC55f624fe1430182E1937467BCe1Cf1B8d360",
"blockchain": "POLYGON"
},
"depositAccount": {
"id": "ed70754e-48f7-45bd-8632-54d122e1fc0d",
"accountId": "5d75e362-0812-4ea8-b203-c7c3a09f8473",
"status": "ACTIVATED",
"currency": "USD",
"bankBeneficiaryName": "Sun Tree Capital LLC",
"bankBeneficiaryAddress": "123 Main St., Austin, TX 78730",
"bankName": "Lead Bank",
"bankAddress": "1801 Main St., Kansas City, MO 64108",
"bankRoutingNumber": "101019644",
"bankAccountNumber": "123456789",
"paymentRails": [
"ACH_PUSH",
"WIRE"
]
}
}
}
]
Creating the Payout Request
Use the create Payout Request endpoint to create a new Payout Request. We are going to create a Payout Request to a single fiat payout in COP.
See the Fiat Rail Code for more information on the various Fiat Rail Codes that are currently supported. Each Fiat Rail Code has a unique request body in the API. The Fiat Rail Code should be set in the type
field for the fiatAndRailDetails
.
Example Request
curl --request POST \
--url http://app.muralpay.com/api/payouts/payout \
--header 'accept: application/json' \
--header 'authorization: Bearer $API-KEY' \
--header 'content-type: application/json' \
--header 'on-behalf-of: 807742f0-e76c-44cd-bbe9-30b02e0060f4' \
--data '
{
"sourceAccountId": "5d75e362-0812-4ea8-b203-c7c3a09f8473",
"memo": "December contract",
"payouts": [
{
"amount": {
"tokenSymbol": "USDC",
"tokenAmount": 100
},
"payoutDetails": {
"type": "fiat",
"bankName": "Bancamia S.A.",
"bankAccountOwner": "test",
"fiatAndRailDetails": {
"type": "cop",
"symbol": "COP",
"accountType": "CHECKING",
"phoneNumber": "+57 601 555 5555",
"bankAccountNumber": "1234567890123456",
"documentNumber": "1234563",
"documentType": "NATIONAL_ID"
}
},
"recipientInfo": {
"type": "individual",
"firstName": "Javier",
"lastName": "Gomez",
"email": "[email protected]",
"dateOfBirth": "1980-02-22",
"physicalAddress": {
"address1": "Cra. 37 #10A 29",
"country": "CO",
"state": "Antioquia",
"city": "Medellin",
"zip": "050015"
}
}
}
]
}
'
After creating a transfer request, save the transfer request Id in order to execute it in the next step. By default, a newly created Payout Request will be in state AWAITING_EXECUTION
. For more information on Payout Request and individual payout statues, see Payout Statuses .
Example Response
{
"id": "e5728f35-f13e-45a2-ba38-144da973938a",
"createdAt": "2025-04-05T04:11:45.718Z",
"updatedAt": "2025-04-05T04:11:45.718Z",
"sourceAccountId": "572bb672-377c-4353-b68c-dabe93214628",
"memo": "December contract",
"status": "AWAITING_EXECUTION",
"payouts": [
{
"id": "41476c0f-46e1-4b78-90c3-4c46f996cf5c",
"createdAt": "2025-04-05T04:11:45.724Z",
"updatedAt": "2025-04-05T04:11:45.724Z",
"amount": {
"tokenSymbol": "USDC",
"tokenAmount": 100
},
"details": {
"type": "fiat",
"fiatAndRailCode": "cop",
"fiatAmount": {
"fiatAmount": 305421.23,
"fiatCurrencyCode": "COP"
},
"transactionFee": {
"tokenSymbol": "USDC",
"tokenAmount": 0.35
},
"exchangeFeePercentage": 1.4,
"exchangeRate": 3108.613065,
"feeTotal": {
"tokenSymbol": "USDC",
"tokenAmount": 1.75
},
"fiatPayoutStatus": {
"type": "created"
}
}
}
]
}
Updated 30 days ago