Guides

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"
				}
			}
		}
	]
}