Account Labels Added to New Endpoints
Release Date
Thursday, December 1, 2022
Release Type
Informational – No action or changes necessary from platforms.
Summary
Zero Hash has now added the ability for platforms to provide an account label when using the following endpoints:
POST /liquidity/RFQ
POST /rewards
POST /withdrawals/requests
Prior to this release, platforms were able to create and pass account labels to ZH using only the POST /trades
and POST /transfers
endpoints, as well as look up account labels using GET /accounts
.
Account Labels can be thought of as "sub account groups". Within each account group, you can have many account labels. They are used to separate funds at a more granular level. One individual can have 2 separated BTC available accounts, for example.
Most platforms use a UID such as an account number as the customer's unique account label. Account labels can be automatically created as they get used for both the POST /liquidity/RFQ
,POST /rewards and POST /trade
endpoints.
Please note, the POST /withdrawals/requests
endpoint does NOT automatically create a new endpoint since a withdrawal would need to have had an account label created previously.
Previously, there was no way to designate a particular account when leveraging the specified endpoints, which limited the ability of platforms to offer separated accounts for end users. Platforms were only able to pass an account label using the POST /trades
and POST /transfers
endpoints.
Now, however, platforms are able to pass the account label value within these endpoints. They are also able to create the new account label automatically when using POST /rewards
and POST /liquidity/rfq
endpoints.
Limitations: Account labels are case sensitive with a 40 character limit, and will create two separate account labels if the same characters are sent at separate times using both upper and lower case. Only numbers, letters, and underscores are allowed.
Action Required
There is no action needed by platforms, as this is not a breaking change. If no unique account label is passed within the endpoint, the account label will default to the standard "general" label.
Endpoints Impacted
The following endpoints are impacted due to this feature improvement, the change being available in both Cert and Production environments:
POST /liquidity/RFQ
POST /rewards
POST /withdrawals/requests
Example Response of POST /liquidity/execute
with 'test1'
as account_label
:
POST /liquidity/execute
with 'test1'
as account_label
:{
"message": {
"request_id": "11b30347-d6e8-4147-87e6-7d5853ab568b",
"quote": {
"request_id": "f1051d64-399f-4753-b673-12e08c2b4d72",
"participant_code": "ABC123",
"quoted_currency": "USD",
"side": "buy",
"quantity": "0.01570402",
"price": "1273.5592542546430787",
"quote_id": "276fe1d6-1d6f-4660-b700-53b32fc19d80",
"expire_ts": 1669928253926,
"account_group": "00SCXM",
"account_label": "general",
"obo_participant": {
"participant_code": "XYZ123",
"account_group": "ABC123",
"account_label": "test1"
},
"underlying": "ETH",
"asset_cost_notional": "20",
"transaction_timestamp": 1669928231216
},
"trade_id": "a8a21bff-71da-4f95-a0f8-246a356b4e71",
"status": "Completed",
"trade_ids_list": [
"a8a21bff-71da-4f95-a0f8-246a356b4e71"
]
}
}
Relevant Documentation
Phase 1 Account Label release notes here.