Owner Profile and Wallet Management
Owner Profile Management
These endpoints manages creation, retrieval, and updates to owner profiles linked to wallets and storage activities.
Get Owner by Wallet ID
Path:
/v2/owner/wallet/:ID
Method:
GET
Access: CSRF API
Description: Public profile fetch by wallet ID.
Path Params:
ID
(string)Response:
{
"user_id": "abcdef123456",
"username": "johndoe",
"biography": "Short bio here",
"avatar": "<base64>",
"background": "<base64>",
"created_at": "2024-05-30T12:34:00"
}
Error:
{"error": "owner not found"}
Get Current Owner
Path:
/v2/owner
Method:
GET
Access: Signature API
Response:
{
"user_id": "abcdef123456",
"phone_number": "+1234567890",
"username": "johndoe",
"email": "[email protected]",
"biography": "Short bio here",
"avatar": "<base64>",
"background": "<base64>",
"created_at": "2024-05-30T12:34:00"
}
Update Owner
Path:
/v2/owner
Method:
PUT
Access: Signature API
Form Data:
username
(optional)avatar
(optional file)background
(optional file)biography
(optional string)
Response:
{
"message": "updated owner details successfully"
}
Delete Owner
Path:
/v2/owner
Method:
DELETE
Access: Private API
Response:
{
"message": "owner deleted successfully"
}
Deletes: DB record, Elasticsearch index, Stripe subscriptions, Firebase account.
Autocomplete Owners by Name
Path:
/v2/owner/autocomplete
Method:
GET
Access: Signature API
Query Parameters:
name
(required)app_type
(required)offset
,limit
,order
(optional)
Response:
[
{
"user_id": "abcdef123456",
"username": "johndoe",
"biography": "Short bio here",
"avatar": "<base64>",
"background": "<base64>",
"created_at": "2024-05-30T12:34:00"
}
]
Wallet Management
These endpoints enables wallet creation, updates, and funding workflows essential for interacting with the Züs network.
Create Wallet
Path:
/v2/wallet
Method:
POST
Access: Signature API
Description: Creates a new wallet for the authenticated user. Can optionally include a referral code and custom mnemonic.
Form Data (multipart/form-data):
name
(string, optional): Wallet name.description
(string, optional): Wallet description.mnemonic
(string, optional): Predefined mnemonic (if restoring).pub_encryption_key
(string, optional): Public encryption key.refcode
(string, optional): Referral code.
Response (201 Created):
{
"client_id": "abcdef123456",
"wallet_id": 123,
"name": "My Wallet",
"description": "Personal wallet",
"mnemonic": "word1 word2 ...",
"public_key": "abcdef...",
"last_update": "2024-06-01T12:00:00",
"referral_success": false
}
Error Response:
{
"error": "owner not found"
}
Update Wallet
Path:
/v2/wallet
Method:
PUT
Access: Signature API
Description: Updates metadata for an existing wallet.
Form Data:
Any wallet metadata fields from
handler.WalletDetails
such as:name
,description
,pub_encryption_key
, etc.
Response:
{
"message": "wallet updated successfully"
}
Error Response:
{
"error": "wallet not found"
}
Delete Wallet
Path:
/v2/wallet
Method:
DELETE
Access: Signature API
Description: Deletes a wallet for the authenticated user.
Query Parameters:
wallet_id
(string, required): ID of wallet to be deleted.
Response:
{
"message": "wallet deleted successfully"
}
Set Active Wallet
Path:
/v2/wallet
Method:
PUT
Access: Signature API
Description: Sets the currently active wallet for an app type (e.g., Vult/Blimp). Also updates the user's profile and rewards signup tokens if first-time setup.
Form Data (multipart/form-data):
refcode
(string, optional): Referral code for reward.
Response:
{
"owner_id": 123,
"wallet_id": "abcdef123456",
"app_type": "vult",
"kms_public_key": "kms_pub_key_value"
}
Error Response:
{
"error": "Cannot switch wallet"
}
Get Wallet Keys
Path:
/v2/wallet/keys
Method:
GET
Access: Signature API
Description: Retrieves public keys and metadata of the currently active wallet.
Response:
{
"client_id": "abcdef123456",
"wallet_id": 123,
"name": "My Wallet",
"public_key": "abcdef..."
}
Check Wallet Exists
Path:
/v2/wallet/exist
Method:
GET
Access: CSRF API
Headers: Non-auth headers required
Description: Checks whether a wallet already exists for the user.
Response:
{
"field": "wallet",
"exists": true
}
Get Wallet List
Path:
/v2/wallet/list
Method:
GET
Access: CSRF API
Headers: Non-auth headers required
Query Parameters (optional):
limit
(string)offset
(string)
Response:
[
{
"client_id": "abcdef123456",
"wallet_id": 123,
"name": "My Wallet",
"public_key": "abcdef..."
}
]
Get Active Wallet
Path:
/v2/wallet/list
(Overloaded)Method:
GET
Access: CSRF API
Description: Fetches the currently active wallet for the logged-in user.
Response:
{
"owner_id": "abcdef123456",
"wallet_id": 123,
"kms_public_key": "abcdef...",
"app_type": "vult"
}
Update KMS Keys
Path:
/v2/wallet/kms
Method:
PUT
Access: Signature API
Description: Updates the KMS (Key Management Service) public key for encryption purposes.
Form Data (multipart/form-data):
Fields from
handler.WalletKMSDetails
, e.g.:kms_public_key
, etc.
Response:
{
"message": "setting KMS successfully"
}
Call Contact Wallets
Path:
/v2/contact/wallets
Method:
GET
Access: Signature API
Description: Retrieves wallets associated with user contacts.
Response:
[
{
"name": "abcdef123456",
"phone_number": "walletid1",
"pub_encryption_key": "johndoe",
"client_id": "vult"
}
]
Wallet Funding Tasks (ZBOX)
These endpoints allow users to receive initial funding (one-time) to perform actions like creating allocations.
Create Funding Task Wallet
Path:
/zbox/fund/wallet
Method:
POST
Access: Signature API
Description: Creates a new funding task for a wallet. This enables one-time token funding per owner/app type for bootstrapping usage.
Headers Required:
X-App-Client-ID
,X-App-Client-Key
,X-App-Timestamp
,X-App-ID-TOKEN
,X-App-Phone-Number
,X-CSRF-TOKEN
,X-APP-TYPE
Body:
{
"client_id": "abcdef123456",
"description": "Initial funding for allocation"
}
Response (201 Created):
{
"id": 1,
"client_id": "abcdef123456",
"owner_id": 123,
"amount": 100000000,
"checkout_session": null,
"description": "Initial funding for allocation",
"funded": false,
"tx_done": false,
"tx_hash": "",
"app_type": "vult",
"funding_type": "allocation",
"cool_down": 0
}
Get Funding Task
Path:
/v2/zbox/fund/:ID
Method:
GET
Access: Signature API
Description: Retrieves a specific funding task using its ID.
Path Param:
ID
(integer)Response:
{
"id": 1,
"client_id": "abcdef123456",
"owner_id": 123,
"amount": 100000000,
"checkout_session": null,
"description": "Initial funding for allocation",
"funded": false,
"tx_done": false,
"tx_hash": "",
"app_type": "vult",
"funding_type": "allocation",
"cool_down": 0
}
Get Wallet Spending Status
Path:
/v2/zbox/fund/spent/status
Method:
GET
Access: Signature API
Description: Returns wallet’s current spending usage stats (daily/weekly) to prevent abuse.
Response:
{
"owner_id": 123,
"daily_spent": 50000000,
"weekly_spent": 200000000,
"app_type": "vult"
}
Delete Funding Task
Path:
/v2/zbox/fund/:ID
Method:
DELETE
Access: Signature API
Description: Deletes a previously created funding task.
Path Param:
ID
(integer)Response (Success):
{
"message": "funding task successful"
}
If nothing was deleted:
{
"message": "no funding task was deleted for these details"
}
Last updated