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. The example below includes a single fiat payout in Colombian Pesos (COP).

📘

Note

For Production flows, it is recommended that you create a Counterparty and Payout Method for your recipient rather than passing in all of your recipient information in the request.


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 Payout Request, save the returnedid 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"
				}
			}
		}
	]
}