Balance
Balance accounts are included as part of the Wise Multi-Currency Account.
Balance ID
Currency code (ISO 4217 Alphabetic Code)
Type (STANDARD
, SAVINGS
)
Name of the balance
Emoji string
Investment state of balance (NOT_INVESTED
, INVESTED
, DIVESTING
, UNKNOWN
)
Available balance value that can be used to fund transfers
Currency code (ISO 4217 Alphabetic Code)
Amount reserved for transactions
Currency code (ISO 4217 Alphabetic Code)
Cash amount in the account
Currency code (ISO 4217 Alphabetic Code)
Current total worth
Currency code (ISO 4217 Alphabetic Code)
Date of when the balance was created
Date of when the balance was last modified
Balance is visible for the user or not
{"id": 200001,"currency": "EUR","type": "STANDARD","name": null,"icon": null,"investmentState": "NOT_INVESTED","amount": {"value": 0,"currency": "EUR"},"reservedAmount": {"value": 0,"currency": "EUR"},"cashAmount": {"value": 0,"currency": "EUR"},"totalWorth": {"value": 0,"currency": "EUR"},"creationTime": "2020-05-20T14:43:16.658Z","modificationTime": "2020-05-20T14:43:16.658Z","visible": true}
POST /v4/profiles/{{profileId}}/balances
This endpoint opens a balance within the specified profile, in the currency and type specified in the request.
For STANDARD
balances, only one can be created for a currency. For SAVINGS
balances, multiples in the same currency can be opened.
When sending the request, the currency
and type
are required. If creating a SAVINGS
type balance, a name
is also required.
Currency code (ISO 4217 Alphabetic Code)
Type (STANDARD
, SAVINGS
)
Name of the balance
Returns a balance object.
curl -X POST https://api.sandbox.transferwise.tech/v4/profiles/{{profileId}}/balances \-H 'Authorization: Bearer <your api token>' \-H 'Content-Type: application/json' \-H 'X-idempotence-uuid: <generated uuid>' \-d '{"currency": "EUR","type": "STANDARD"}'
GET /v4/profiles/{{profileId}}/balances/{{balanceId}}
This endpoint returns a balance based on the specified balance ID.
Returns a balance object.
curl -X GET https://api.sandbox.transferwise.tech/v4/profiles/{{profileId}}/balances/{{balanceId}} \-H 'Authorization: Bearer <your api token>'
GET /v4/profiles/{{profileId}}/balances?types=STANDARD
Retrieve the user's multi-currency account balance accounts. It returns all balance accounts the profile has in the types specified.
A parameter of type
must be passed and include at least a single type. To return more than one type, comma separate the values. Acceptable values are STANDARD
and SAVINGS
.
Returns an array of balance objects.
curl -X GET https://api.sandbox.transferwise.tech/v4/profiles/{{profileId}}/balances?types=STANDARD \-H 'Authorization: Bearer <your api token>'
DELETE /v4/profiles/{{profileId}}/balances/{{balanceId}}
Close a balance account for the users profile. Balance accounts must have a zero balance in order for it to be closed. Bank account details for a balance account will also be deactivated and may not be restored in the future.
Returns a balance object.
curl -X DELETE https://api.sandbox.transferwise.tech/v4/profiles/{{profileId}}/balances/{{balanceId}} \-H 'Authorization: Bearer <your api token>'
POST /v2/profiles/{{profileId}}/balance-movements
This endpoint allows the conversion of funds between two STANDARD
balance accounts in different currencies. You first must generate a quote with "payOut": "BALANCE"
.
Authenticated profile ID
Quote ID - quote must be created with "payOut": "BALANCE"
.
Unique identifier assigned by you. Used for idempotency check purposes. Should your call fail for technical reasons then you can use the same value again for making retry call.
curl -X POST https://api.sandbox.transferwise.tech/v2/profiles/{{profileId}}/balance-movements \-H 'Authorization: Bearer <your api token>' \-H 'Content-Type: application/json' \-H 'X-idempotence-uuid: <generated uuid>' \-d '{"quoteId": {{quote ID}}}'
{"id": 30000001,"type": "CONVERSION","state": "COMPLETED","balancesAfter": [{"id": 1,"value": 10000594.71,"currency": "GBP"},{"id": 2,"value": 9998887.01,"currency": "EUR"}],"creationTime": "2017-11-21T09:55:49.275Z","steps": [{"id": 369588,"type": "CONVERSION","creationTime": "2017-11-21T09:55:49.276Z","balancesAfter": [{"value": 9998887.01,"currency": "EUR"},{"value": 10000594.71,"currency": "GBP"}],"channelName": null,"channelReferenceId": null,"tracingReferenceCode": null,"sourceAmount": {"value": 113.48,"currency": "EUR"},"targetAmount": {"value": 100,"currency": "GBP"},"fee": {"value": 0.56,"currency": "EUR"},"rate": 0.88558}],"sourceAmount": {"value": 113.48,"currency": "EUR"},"targetAmount": {"value": 100,"currency": "GBP"},"rate": 0.88558,"feeAmounts": [{"value": 0.56,"currency": "EUR"}]}
POST /v2/profiles/{{profileId}}/balance-movements
This endpoint allows the following money movements:
- Add money to same-currency jar (i.e move money from
STANDARD
toSAVINGS
balance without conversion,amount
is provided as request parameter); - Add money to another-currency jar (i.e. convert money,
amount
is determined by providedquoteId
); - Withdraw money from jar (i.e move money from
SAVINGS
toSTANDARD
balance without conversion,amount
is provided as request parameter).
Authenticated profile ID
Source balance ID. If present, targetBalanceId
is required.
Target balance ID. If present, sourceBalanceId
is required.
Quote ID - quote must be created with "payOut": "BALANCE"
. Required for cross-currency movements.
Either amount
or quoteId
are required.
Unique identifier assigned by you. Used for idempotency check purposes. If your call fails for technical reasons, you can use the same value again for making a retry call.
curl -X POST https://api.sandbox.transferwise.tech/v2/profiles/{{profileId}}/balance-movements \-H 'Authorization: Bearer <your api token>' \-H 'Content-Type: application/json' \-H 'X-idempotence-uuid: <generated uuid>' \-d '{"amount": {"value": <decimal>,"currency": <currency>}"sourceBalanceId": <source ID>,"targetBalanceId": <target balance ID>,"quoteId": {{quote ID}}}'
{"id": <conversion transaction ID>,"type": "CONVERSION","state": "COMPLETED","balancesAfter": [{"id": 1,"value": 10000594.71,"currency": "GBP"},{"id": 2,"value": 9998887.01,"currency": "EUR"}],"creationTime": "2017-11-21T09:55:49.275Z","steps": [{"id": 369588,"type": "CONVERSION","creationTime": "2017-11-21T09:55:49.276Z","balancesAfter": [{"value": 9998887.01,"currency": "EUR"},{"value": 10000594.71,"currency": "GBP"}],"channelName": null,"channelReferenceId": null,"tracingReferenceCode": null,"sourceAmount": {"value": 113.48,"currency": "EUR"},"targetAmount": {"value": 100,"currency": "GBP"},"fee": {"value": 0.56,"currency": "EUR"},"rate": 0.88558}],"sourceAmount": {"value": 113.48,"currency": "EUR"},"targetAmount": {"value": 100,"currency": "GBP"},"rate": 0.88558,"feeAmounts": [{"value": 0.56,"currency": "EUR"}]}
GET /v1/profiles/{{profileId}}/balance-capacity
This endpoint allows a user to check how much money they are able to deposit in their balance based on regulatory limits.
It is useful for personal profiles located in countries that have hold limits.
We advise to call this API before depositing money into an account if the profile is located in Singapore or Malaysia.
Currency code (ISO 4217 Alphabetic Code) - The deposit limit will be returned in this currency
True if there is a regulatory hold limit for that profile's country
Amount of money that can be added to the account
Currency code (ISO 4217 Alphabetic Code) of money that can be added to the account. Specified in the request
curl -X GET https://api.sandbox.transferwise.tech/v1/profiles/{{profileId}}/balance-capacity?currency=SGD \-H 'Authorization: Bearer <your api token>'
{"hasLimit": true,"depositLimit": {"amount": 2000.00,"currency": "SGD"}}
POST /v1/profiles/{profileId}/excess-money-account
If a balance goes over the regulatory hold limit, we need to automatically move the excess amount to another account at the end of the day.
To do this, we require a recipient where the money will be moved to be added to the profile.
This API is primarily used for SG and MY customers.
ID of the recipient for excess money transfers (Recipient)
Response
ID of the profile
ID of the recipient for excess money transfers
curl -X POST https://api.sandbox.transferwise.tech/v1/profiles/{profileId}/excess-money-account \-H 'Authorization: Bearer <your api token> \'-d '{"recipientId": 148393305}'
{"userProfileId": 12321323,"recipientId": 148393305}