Basic Description

This endpoint is used to create a Address in Taurus-PROTECT. To understand what a Address is and how to use it, please refer to the following page in the Taurus User Guides.

This endpoint would accept a POST request with a JSON payload containing the address details. The walletIdand label are the only two required parameters that must be included within the JSON payload.

Prerequisites

Required Roles

Certain API endpoints require that the user has a specific role in order to access them. Roles are used to restrict access to certain functionality within the system and ensure that only authorized users are able to perform specific actions.

Here is the list of required Roles for this particular endpoint:

  • AccountCreator
  • TPUser

To find out more about roles, please refer to the following page in the Taurus User Guides.

Required Input Parameters

Certain API endpoints require specific input parameters. Here is the list of Required Input Parameters for this particular endpoint:

  • walletId: The ID of the new Wallet in which the newly created address will belong.
  • label: The label assigned to the newly-created address.

📘

Preconditions

It is important to note that the selected Wallet needs to be already created in Taurus-PROTECT. If the given walletId does not exist, the request will result in an error.

Call Example

You can find a basic example in cURL below.
Please note that you will need to update the BASEURL and the APITOKEN for the command to function.

export BASEURL=https://taurus-protect-instance.com
export APIToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiZXh0ZXJuYWxVc2VySUQiOiJ0ZWFtMUV4dGVybmFsVXNlcklEIiwidGVuYW50SUQiOjEsImNhcGl0YWxUZW5hbnRJRCI6MSwiZmlyc3RuYW1lIjoiSm9obiIsImxhc3RuYW1lIjoiRG9lIiwicm9sZXMiOlsidHB1c2VyIl0sImVtYWlsIjoidGVhbTFAYmFuay5jb20iLCJ1c2VybmFtZSI6InRlYW0xIiwiand0X3JlbmV3YWJsZV9hbW91bnQiOjAsImlzX3RvdHBfZW5hYmxlZCI6ZmFsc2UsImF1dGhfc3RhdHVzIjoiU1VDQ0VTUyIsImxhc3RfbG9naW4iOiIyMDIzLTAxLTAxVDAwOjAwOjAwLjE0OTc0NDIzMloiLCJsb2dnZWRfaW5fd2l0aF9zc28iOmZhbHNlLCJrZXkiOiIiLCJleHAiOjE2ODEyMTkyNzYsImlhdCI6MTY4MTIxNzQ3Nn0.K_85arIrigpkN1yHttCydpeT6oVg2c6PyQnuji907Og
curl --location "$BASEURL/api/rest/v1/addresses" \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "Authorization: Bearer $APIToken" \
--data '{
  "walletId": "71336",
  "label": "API-Documentation - Test 4"
  }'

This piece of code sends a POST request to https://your-protect-instance.example.com/api/rest/v1/addresses with the JSON string in the request body.

👍

Call Result

A successful response for the POST call to create an address might look like this:

{
    "result": {
        "id": "726409",
        "walletId": "71336",
        "currency": "ETH",
        "addressPath": "m/44'/60'/96'/0'/0'",
        "address": "0x084ef2b516aac80a6ce5e07999872e88396feba5",
        "label": "Address XYZ",
        "balance": {
            "totalConfirmed": "0",
            "totalUnconfirmed": "0",
            "availableConfirmed": "0",
            "availableUnconfirmed": "0",
            "reservedConfirmed": "0",
            "reservedUnconfirmed": "0"
        },
        "signature": "9pI1j87s7XTkmXN/ST6sZ/Q6Vx1gN3OeHa+6HnaJE9KRmqHzvp8hrOIqKtT6HJJW5UUCITtGKxife5w219D/pA==",
        "creationDate": "2023-03-30T15:42:24.167090Z",
        "updateDate": "2023-03-30T15:42:24.167090Z",
        "walletInfo": {
            "id": "71336",
            "balance": {
                "totalConfirmed": "0",
                "totalUnconfirmed": "0",
                "availableConfirmed": "0",
                "availableUnconfirmed": "0",
                "reservedConfirmed": "0",
                "reservedUnconfirmed": "0"
            },
            "currency": "ETH",
            "coin": "ETH",
            "name": "API-Documentation-Test",
            "accountPath": "m/44'/60'/96'",
            "creationDate": "2023-03-30T15:31:55.170253Z",
            "updateDate": "2023-03-30T15:31:55.170253Z",
            "blockchain": "ETH",
            "currencyInfo": {
                "name": "Ethereum",
                "symbol": "ETH",
                "coinTypeIndex": "60",
                "blockchain": "ETH",
                "decimals": "18",
                "isAccountBased": true,
                "enabled": true,
                "id": "33a7de6af505855d3062715ac4609736a60cf2779f03cd033e74590708c4f0d4",
                "displayName": "Ethereum - ETH",
                "type": "native",
                "network": "mainnet"
            },
            "network": "mainnet"
        },
        "currencyInfo": {
            "name": "Ethereum",
            "symbol": "ETH",
            "coinTypeIndex": "60",
            "blockchain": "ETH",
            "decimals": "18",
            "isAccountBased": true,
            "enabled": true,
            "id": "33a7de6af505855d3062715ac4609736a60cf2779f03cd033e74590708c4f0d4",
            "displayName": "Ethereum - ETH",
            "type": "native",
            "network": "mainnet"
        },
        "canUseAllFunds": true
    }
}

In this example, Taurus-PROTECT has created a new Address under the specified wallet, and has assigned it a unique ID of "726409". Taurus-PROTECT responds with a JSON object containing the address details, including the newly created Address id.

Requirements for Future Use

For this particular endpoint, we do not have any storage requirements other than the Address id that will be included in the JSON Body Response.

You can find the Swagger-generated page for this endpoint in the following link.




  © 2025 Taurus SA. All rights reserved.