Skip to main content

Account API

Full documentation available through your Account

This is not the full documentation for the Membrane Account API. Please find the full API documentation and OpenAPI specifications through your account.

tip

Membrane Account API is available only to registered users. If your organisation does not have a Membrane Account, you can apply for one at membrane.fi/get-started

Not the canonical documentation

Please note that the documentation provided here is for illustrative purposes only and is not the canonical documentation for the Membrane Account API and may be outdated. View the full documentation through your Membrane Account.

Introduction

The Membrane Account API is a RESTful API that allows you to access your Membrane account data programmatically via simple HTTP requests. It is for developers who want to integrate Membrane account data into their own applications or programmatically mint, redeem, and bridge EUROe.

The Membrane Account API allows moving funds between the off-chain and the on-chain with a single API call. Minting and redemption of EUROe is free and always 1:1.

Authentication

All requests to the Membrane Account API must be authenticated with an API key. API keys can be created and managed in the Membrane Account Settings.

You can use your API key to retrieve an Authorization token, which is required for all requests to the Membrane Account API. Tokens have a validity of 8 hours. To retrieve an Authorization token, send a POST request to the /apiauth endpoint with your API key in the X-MEMBRANEACCOUNT-API-KEY header. The response will contain an Authorization header which contains the Bearer token that you can use in subsequent requests.

Login to view code samples

Access the full API documentation through your Membrane Account to view code samples & sample responses.

The token can be refreshed with the /api/refresh endpoint, which responds with a new token with 8 hours validity, but using this endpoint is not required.

API Endpoints

Get all supported networks

Note: the network names provided by this endpoints are valid options when creating a mint payment instruction.

You can get a list of all the supported networks by calling the /api/networks endpoint.

Get custody account bank transfer information

You can view your custody account bank transfer informatio by calling the /api/custodyaccounts endpoint. Deposits can be made to any of the custody accounts.

Get all your accounts

You can get a list of all of your bank accounts and deposit addresses by calling the /api/account endpoint.

Get all your mints and burns

Get a list of all your mints and burns (collective known as payment instructions) by calling the /api/paymentinstruction endpoint.

Create a mint payment instruction

Note: a mint operation can only be created with a destination address ("toAccount") that is associated with your Membrane account and has been approved by EUROe staff. The possible values of toAccount are returned under the accountidentifier key which have networkIdentifier: [any supported blockchain network] when getting all your accounts.

Login to view code samples

Access the full API documentation through your Membrane Account to view code samples & sample responses.

You can create a mint payment instruction by calling the /api/mint endpoint.

In the response you will see the details of our current custody account to which you must send the FIAT EUROe to custody. You can also retrieve this information at any time by calling /api/custodyaccounts endpoint.

Create a burn payment instruction

Note: a burn operation can only be created with a destination IBAN account ("toAccount") that is associated with your Membrane account and has been approved by EUROe staff. The possible values of toAccount are returned under the accountidentifier key which have networkIdentifier: SEPA when getting all your accounts.

In burns, you must send the EUROe tokens to be burned to the burn address, which is specific to network and your company. We will provide that in the response based on the network specified in the request.

Login to view code samples

Access the full API documentation through your Membrane Account to view code samples & sample responses.

You can create a burn payment instruction by calling the /api/burn endpoint.

Cancel a payment instruction

A Payment Instruction can be canceled if we have not yet started to process it. If the Payment Instruction has already been processed, it cannot be canceled anymore.

Use the Payment Instruction's UUID to cancel it.

Payment Instruction states

When we process your mint or burn requests, the states change. The following is a list of all possible states:

DepositPending: Waiting for a deposit from the customer, initial state after successful creation

DepositConfirmed: Deposit to our custody account or customer-specific burn address has been confirmed and processed, waiting for authorisation to transfer funds to customer

Processing: Request is being processed by Membrane Finance

PendingPayment: Request is pending for Membrane Finance's payment to customer or bank's approval to transfer funds

Complete: Successful completion of the request

Rejected: Rejected by Membrane Finance personnel

Canceled: Customer has canceled the request

DepositMismatch: Deposit made with incorrect amount

Account API Beta

The API is currently in beta and is subject to change. We'll make an effort to notify customers well in advance of any breaking changes if and when they occur.