# Create Account

As a platform, you can create an account for yourself or your platform's vendors.

### A vendor account can be created in 3 different ways

* Automatically, by accepting a payment via the Platform Portal.
* Via API (Server-to-Server call).
* Automatically in the first Payin of a new currency.

An account Object will be created automatically for your vendors by UNIPaaS in the first Payin transaction (per vendor per currency) to keep your integration simple.

> 📘 We recommend you let UNIPaaS manage the account creation automatically, but if you want to bring more control and flexibility into your system, you can use the below methods.

## Create a Platform Account

As a platform, you can create an account balance for yourself.

Make a [`POST /ewallets`](https://docs.unipaas.com/reference#ewallet) request to create a new account balance:

```curl
curl --request POST \
  --url 'https://sandbox.unipaas.com/platform/ewallets' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \
  --data-raw '{
  	"currency": "USD",
    "name": "my usd eWallet"
   }'
```

In the response, you'll get the created [`eWallet object`](https://docs.unipaas.com/docs/ewallets-overview#the-ewallet-transaction-object). 

> 📘 **eWallet.vendorId won't be defined**, as this method creates a platform account.

## Create Platform's Vendor account

As a platform, you can create an account for your vendor.

Make a [`POST /vendors/{vendorId}/ewallets`](https://docs.unipaas.com/reference#vendorewalletcontroller_createewallet) request to create a new eWallet:

```curl
curl --request POST \
  --url 'https://sandbox.unipaas.com/platform/vendors/{vendorId}/ewallets' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <PLATFORM_SECRET_KEY>' \
  --data-raw '{
  	"currency": "USD",
    "name": "my vendor\'s usd eWallet"
   }'
```

In the response you'll get the created vendor [`eWallet object`](https://docs.unipaas.com/docs/ewallets-overview#the-ewallet-transaction-object). 

> 📘 **eWallet.vendorId will be defined**, as this method creates a platform's vendor account.
