New service | **Last updated**: 14 May 2025

Important
This documentation is for preview purposes only.

# Manage balance accounts

Create and manage balance accounts which represent a virtual currency account within Worldpay. We use this to store the party's funds ahead of a payout.

br
You can add a `balanceAccount` in two ways. Either **during** or **after** the creation of a party. This guide focuses on adding a `balanceAccount` **after** the party creation call.


To add a `balanceAccount` **during** [orchestrated party creation call](/products/parties/create-party#orchestrated-party-creation), you can use the `https://access.worldpay-bsh.securedataplatform.com/parties` endpoint.

## Create a balance account

**After** a party is created, you can create and add a balance account.


`POST` `https://access.worldpay-bsh.securedataplatform.com/parties/{partyId}/balanceAccount`

br
Note
You can only request creation of one balance account per one currency.

### Request/response example

`POST` `https://access.worldpay-bsh.securedataplatform.com/parties/parTH82wexHglhnBbzd6iJ7P0/balanceAccount`

### Schema


```json
{
  "$ref": "#/components/schemas/BalanceAccount",
  "components": {
    "schemas": {
      "BalanceAccount": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency in [ISO 4217 currency format](/products/reference/supported-countries-currencies#iso-currency-codes).",
            "example": "GBP",
            "maxLength": 3,
            "minLength": 3,
            "pattern": "^[A-Z]*$"
          },
          "payoutInstrumentReference": {
            "type": "string",
            "description": "A reference of the `payoutInstrument` created by you. This\nfield holds the beneficiary bank details. Use this to direct payouts to\nthe relevant beneficiary. This must be unique within an entity.\n",
            "example": "primaryBusinessAccount"
          },
          "scheduledPayoutDay": {
            "type": "string",
            "description": "The scheduled payout day for this `balanceAccount`.",
            "enum": [
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday"
            ],
            "example": "friday"
          },
          "frequency": {
            "type": "string",
            "description": "Scheduled payout for this `balanceAccount`.<br><b>weekly</b> - you must include `schedulePayoutDay`<br><b>monthly</b> - you must include `schedulePayoutDay` and `recurrence`",
            "enum": [
              "weekly",
              "monthly"
            ],
            "example": "weekly"
          },
          "recurrence": {
            "type": "string",
            "description": "The week of the month the payout is paid out. Used for monthly `frequency`.",
            "enum": [
              "first",
              "second",
              "third",
              "fourth"
            ],
            "example": "first"
          },
          "nextPayoutDate": {
            "type": "string",
            "description": "The next scheduled payout date for this balance account.",
            "example": "2025-02-14",
            "readOnly": true
          },
          "balanceAccountId": {
            "type": "string",
            "description": "Unique ID created by us to identify a balance account. This is sent in the response after `balanceAccount` creation.",
            "readOnly": true
          },
          "dateTimeCreated": {
            "type": "string",
            "description": "The date and time that the balance account was created, as an ISO 8601 zoned date time.",
            "example": "2025-01-23T12:23:445.222Z",
            "readOnly": true
          },
          "dateTimeUpdated": {
            "type": "string",
            "description": "The date and time that the balance account was last updated, as an ISO 8601 zoned date time.",
            "example": "2025-01-25T02:43:499.202Z",
            "readOnly": true
          },
          "version": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "required": [
          "currency"
        ]
      }
    }
  }
}
```

## View a balance account

View information about a balance account, previously created.

`GET` `https://access.worldpay-bsh.securedataplatform.com/parties/{partyId}/balanceAccount/{balanceAccountId`

### Request/response example

You can see the full [schema](#schema) above or in our [API reference](/products/parties/openapi/balance-accounts).

## Assigning a payout schedule

Assign a payout schedule to a balance account, to ensure regular payouts to a specified [payout instrument](/products/parties/payout-instruments/).

Important
Some regions require you to assign a regular schedule to their balance accounts. Please speak to your Worldpay Implementation Manager for further details

### Schedule support

* **weekly**
  - for each workday of the week (Monday-Friday)
  - the `payoutInstrument` currency must match the one of the balance account
* **monthly**
  - set the day the of the week (Monday-Friday)
  - define which week of the month (first, second, third. fourth)


## Modify a balance account

You can:

* change the `payoutInstrument`
* day the schedules are paid out to


### Request/response example

`PUT` `https://access.worldpay-bsh.securedataplatform.com/parties/{partyId}/balanceAccount/{balanceAccountId}`

You can see the full [schema](#schema) above or in our [API reference](/products/parties/openapi/balance-accounts).

## Delete a balance account

****Coming soon****

**Next steps**

[Add a payout instrument](/products/parties/payout-instruments)
[Manage beneficial owners](/products/parties/beneficial-owners) or 
[Verify a party](/products/parties/verify-parties)