Mandate Setup

Mandates are a prerequisite for direct debit funding and can be considered as a power of attorney. With a mandate, a user authorises Upvest to collect payments on his behalf.


The mandate is created in accordance with the European SEPA Core Regulation standard. Currently, SEPA direct debit is the only supported funding method in our Investment API.


Soon, your users will also be able to top up their cash balance with additional funding methods such as SEPA credit transfers.

How mandate creation works

Before a mandate creation request can be initiated, the mandate details must be presented for the user to review. The mandate information that should be present includes:

  1. Personal datails of the user including full name and address. This can be obtained by calling GET /users/{user_id}.
  2. Creditor (Upvest) information This information will be provided to you during your onboarding process.

After the end user has verified the content of the mandate, he/she must explicitly authorise Upvest to collect money on his/her behalf.


The responsibility for the validity of a mandate lies with you, the client. The authorisation is therefore handled by you; it can be granted, for example, in the front-end of your applications in the form of a checkbox in which the user confirms the verification of the mandate.

Implementing mandates


Before a mandate can be set up, a user must be onboarded and active on the Upvest platform.

Creating a validated mandate

Once the user’s bank account details have been captured and a mandate is authorised, you can trigger a mandate creation request with

POST /payments/mandates including a confirmed_at value.

Any additional mandate data required will be populated by Upvest.

Example request

  "user_id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "iban": "DE89000000000000000000",
  "bic": "ABCDEXXX",
  "confirmed_at": "2021-12-08T08:38:48.021Z"

Example response

  "id": "9c5a7dea-46f2-4502-b6b5-9902a53860e4",
  "created_at": "2020-08-24T14:15:22Z",
  "user_id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202",
  "iban": "DE8900**********0000",
  "bic": "ABCDEXXX",
  "creditor_name": "Creditor Company",
  "creditor_id": "DE98ZZZ09999999999",
    "address_line1": "Strasse 1",
    "address_line2": "Company GmbH",
    "postcode": "12345",
    "city": "Berlin",
    "state": "BE",
    "country": "DE"
  "confirmed_at": "2021-12-08T08:38:48.021Z"
  • The IBAN used for a user's mandate may differ from the user's reference bank account.
  • All mandates created are assigned the type recurring.

Next steps

Now you are ready to jump into triggering direct debit funding.

Was this page helpful?