Create a wallet
This endpoint creates a new wallet for the current user. Each TEOS platform user can have one or more wallets. Wallets are used to store and manage sparks of assets owned by a user.
Each wallet consists of a public address and a private key:
- The public address identifies the wallet in all spark operations.
- The private key, securely stored on the userβs device, is used to sign transactions.
TEOS API consumers can create a wallet to securely manage the sparks of assets owned by a TEOS user.
π Learn more about wallets.
Request Endpointβ
POST /odata/v1.0/Wallets
Parametersβ
No query parameters.
Request Bodyβ
Content type: application/json β Wallet details to be created.
| Parameter | Type | Description | Mandatory |
|---|---|---|---|
| Name | string | Human-readable name of the wallet. Used to identify it in UI or integrations. | β |
| UserId | string (UUID) | Unique identifier of the user who owns this wallet. | β |
| Signable | boolean | Indicates whether this wallet can sign transactions (true for active wallets managed by the user). | β |
| EthereumAddress/ICPAddress | string | The public blockchain address for this wallet | β |
| Description | string | Optional description providing context about the wallet purpose. | β |
Example Request Bodyβ
In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "Address" and is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer (ICPAddress), it is 63 characters.
{
"Name": "Example",
"Description": "This is an example of a wallet",
"UserId": "e38d15e0-b26e-4f2e-b78c-991a46be0644",
"Signable": true,
"EthereumAddress": "0x9f114da25b61b77606d47eab414b9360f8783979"
}
Response Bodyβ
Content type: application/jsonβ Returns the details of the created wallet.
| Parameter | Description |
|---|---|
| Id | Unique identifier of the wallet in TEOS Platform. |
| Name | Wallet name as defined during creation. |
| Description | Description text provided by the user. |
| EthereumAddress/ICPAddress | The public blockchain address for this wallet. |
| UserId | Unique identifier of the wallet owner. |
| Signable | Indicates whether this wallet supports signing transactions. |
Example Response Bodyβ
In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "Address" and is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, it is 63 characters.
{
"Id": "346BD08F-8F95-4487-9FB4-17FA19B8A91D",
"Name": "USD Token Wallet",
"Description": "Used for payments",
"EthereumAddress": "0xe0450ce1e2ef73b15514ae6a003b90d0ebac8836",
"UserId": "346BD08F-8F95-4487-9FB4-17FA19B8A91D",
"Signable": true
}
Response Codesβ
| Code | Description |
|---|---|
| 201 | The wallet was created successfully. |
| 400 | The provided wallet data is invalid. Error details are included. |
| 401 | Unauthorized. |