Zelus Labs API
  • Welcome!
  • Features
  • Quick Start
  • Reference
    • OpenAPI
    • Account API
      • Account Status
      • Account Contracts
    • Wallet API
      • Wallet Create
      • Wallet Balance
      • Wallet NFTs
    • NFT API
      • Minting an NFT
      • Get NFT metadata
Powered by GitBook
On this page
  • Endpoint Details
  • Examples
  • Notes

Was this helpful?

  1. Reference
  2. Wallet API

Wallet Create

This API allows clients to create or retrieve a wallet for a user. The client supplies an email address or phone number, and receive a wallet address (and anonymized wallet ID) in response. If a wallet has already been created for the user, the wallet address and anonymized wallet ID will be returned. If a wallet already exists for the user, the wallet is looked up and the address and ID are returned.

Endpoint Details

Description
Data

API Name

HTTP Method

POST

URL

/v1/wallet/create

Headers

Key
Value

Content-Type

application/json

x-api-key

API_KEY

Query Parameters

Parameter
Type
Description

ignoreAddress

boolean

when set to true, prevents the return of the wallet address

email

string

The email of the user for claim. Note: Either email or phone should be present in the request.

phone

string

The phone number of the user. Note: Either email or phone should be present in the request.

Payload Example:

  1. By Email:

{
  "ignoreAddress": false,
  "email": "email@example.com",
}
  1. By Mobile phone

{
  "ignoreAddress": false,
  "phone": "+12223334444"
}

The response will be a JSON object containing the wallet address and the wallet ID or error object in case of error

Successful Response

{
  "result": {
    "walletId": "wallet_60afcf25-2c1f-4b90-9fea-6174fd416040",
    "walletAddress": "0x0097f04ac9b2af2fb40c2c30a65023a78eaff5d6"
  }
}

Error Response

{
  "error": {
    "code": "400"
    "message": "Validation error: \"value\" must contain at least one of [email, phone]",
  }
}

Examples

curl -X POST "https://sandbox.api.labs.zelus.io/v1/wallet/create" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"ignoreAddress": false, "email": "email@example.com", "phone": "+12223334444"}'
import requests

url = "https://sandbox.api.labs.zelus.io/v1/wallet/create"
headers = {
    "x-api-key": "<YOUR_API_KEY>",
    "Content-Type": "application/json"
}
data = {
    "ignoreAddress": False,
    "email": "email@example.com",
    "phone": "+12223334444"
}

response = requests.post(url, headers=headers, json=data)
result = response.json()

wallet_address = result.get("walletAddress")
wallet_id = result.get("walletId")
const axios = require('axios');

const url = "https://sandbox.api.labs.zelus.io/v1/wallet/create";
const headers = {
    "x-api-key": "<YOUR_API_KEY>",
    "Content-Type": "application/json"
};
const data = {
    ignoreAddress: false,
    email: "email@example.com",
    phone: "+12223334444"
};

axios.post(url, data, { headers: headers })
    .then(response => {
        const walletAddress = response.data.walletAddress;
        const walletId = response.data.walletId;
    })
    .catch(error => {
        console.error("Error during wallet creation:", error);
    });

Notes

  1. Validation:

    • Ensure you have an active API key.

    • Either email or phone should be present in the request, otherwise, a validation error will be returned.

  2. If the wallet already exists for the provided email address or phone number, the previously created wallet ID will be returned.

  3. If the ignoreAddress parameter is set to true, the wallet address won't be returned.

  4. If the ignoreAddress parameter is omitted or set to false, both the wallet ID and the wallet address will be returned.

PreviousWallet APINextWallet Balance

Last updated 1 year ago

Was this helpful?

postWalletCreate