Account API
This is not the full documentation for the Membrane Account API. Please find the full API documentation and OpenAPI specifications through your account.
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
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.
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.
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.
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
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.