Balance
Balance accounts are included as part of the Wise Multi-Currency Account.
The Balance resource
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}
Create a balance account
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"}'
Retrieve a balance by Id
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>'
List balances for a profile
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>'
Remove a balance account
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>'
Convert across balance accounts
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"}]}
Move money between balances
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"}]}