How to create identity?

Create Identity under your own namespace

Process of creating an identity

Arrange Identity

Arrange identity in the format

{
  "id": "string",
  "identifier": "string",
  "provider": "string",
  "default": {
    "address": "address",
    "chain": number,
    "isMultisig": boolean,
    "isSmartContractWallet": boolean
  },
  "secondary": [
    {
      "address": "address",
      "chain": number,
      "isMultisig": boolean,
      "isSmartContractWallet": boolean
    },
    {
      "address": "address",
      "chain": number,
      "isMultisig": boolean,
      "isSmartContractWallet": boolean
    }
  ]
}

Generate Message

Using the above arranged identity, generate a message using the below endpoint and sign it using default address by following guide for respective chains

Generate Message

post
Authorizations
Body
idstringRequired
identifierstringRequired
providerstringRequired
currentSignaturestringOptional
previousSignaturestringOptional
Responses
200Success
application/json
post
POST /v1/identity/generate-message HTTP/1.1
Host: sandbox-api.fetcch.xyz
secret-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 280

{
  "id": "text",
  "identifier": "text",
  "provider": "text",
  "default": {
    "address": "text",
    "chain": 1,
    "isSmartContractWallet": true,
    "isMultisig": true
  },
  "secondary": [
    {
      "address": "text",
      "chain": 1,
      "isSmartContractWallet": true,
      "isMultisig": true
    }
  ],
  "currentSignature": "text",
  "previousSignature": "text"
}
{
  "data": {
    "message": "ds"
  },
  "status": 200,
  "timestamp": ""
}

After generating message, you need to sign message using appropriate functions for respective chains, check our guide for each blockchain here

Create Identity

After signing the message, add the generated signature in the arranged identity, at currentSignature

Now, data should look something like this

{
  "id": "string",
  "identifier": "string",
  "provider": "string",
  "default": {
    "address": "address",
    "chain": number,
    "isMultisig": boolean,
    "isSmartContractWallet": boolean
  },
  "secondary": [
    {
      "address": "address",
      "chain": number,
      "isMultisig": boolean,
      "isSmartContractWallet": boolean
    },
    {
      "address": "address",
      "chain": number,
      "isMultisig": boolean,
      "isSmartContractWallet": boolean
    }
  ],
  "currentSignature": "string"
}

Call Create Identity API

Important Note

If default chain is APTOS, then while calling this API, swap default address with public key of the same address, so that we can easily verify signatures

Create Identity

post
Authorizations
Body
idstringRequired
identifierstringRequired
providerstringRequired
currentSignaturestringOptional
previousSignaturestringOptional
Responses
200Success
application/json
post
POST /v1/identity HTTP/1.1
Host: sandbox-api.fetcch.xyz
secret-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 280

{
  "id": "text",
  "identifier": "text",
  "provider": "text",
  "default": {
    "address": "text",
    "chain": 1,
    "isSmartContractWallet": true,
    "isMultisig": true
  },
  "secondary": [
    {
      "address": "text",
      "chain": 1,
      "isSmartContractWallet": true,
      "isMultisig": true
    }
  ],
  "currentSignature": "text",
  "previousSignature": "text"
}
{
  "id": "text",
  "identifier": "text",
  "providerId": "text",
  "provider": {
    "id": "text",
    "logo": "text",
    "apiKey": "text",
    "delimiter": "text",
    "txHash": "text",
    "registry": [
      {
        "address": "text",
        "chainType": "EVM",
        "txHash": "text",
        "providerId": "text",
        "provider": {
          "id": "text",
          "logo": "text",
          "apiKey": "text",
          "delimiter": "text",
          "txHash": "text",
          "registry": [
            "[Circular Reference]"
          ],
          "dataSourceId": 1,
          "ownerId": "text",
          "updatedAt": "2025-06-25T09:58:15.785Z",
          "createdAt": "2025-06-25T09:58:15.785Z"
        }
      }
    ],
    "dataSourceId": 1,
    "ownerId": "text",
    "updatedAt": "2025-06-25T09:58:15.785Z",
    "createdAt": "2025-06-25T09:58:15.785Z"
  },
  "defaultAddress": "text",
  "default": {
    "address": "text",
    "chain": {
      "id": 1,
      "name": "text",
      "symbol": "text",
      "icon": "text",
      "rpc": [
        "text"
      ],
      "type": "EVM",
      "shortName": "text",
      "infoURL": "text",
      "chainId": 1,
      "updatedAt": "2025-06-25T09:58:15.785Z",
      "createdAt": "2025-06-25T09:58:15.785Z"
    },
    "chainId": 1,
    "isMultisig": false,
    "isSmartContractWallet": false,
    "walletId": {
      "id": 1,
      "name": "text",
      "symbol": "text",
      "icon": "text",
      "rpc": [
        "text"
      ],
      "type": "EVM",
      "shortName": "text",
      "infoURL": "text",
      "chainId": 1,
      "updatedAt": "2025-06-25T09:58:15.785Z",
      "createdAt": "2025-06-25T09:58:15.785Z"
    },
    "updatedAt": "2025-06-25T09:58:15.785Z",
    "createdAt": "2025-06-25T09:58:15.785Z"
  },
  "secondary": [
    {
      "id": "text",
      "address": "text",
      "isMultisig": false,
      "isSmartContractWallet": false,
      "chainId": 1,
      "chain": {
        "id": 1,
        "name": "text",
        "symbol": "text",
        "icon": "text",
        "rpc": [
          "text"
        ],
        "type": "EVM",
        "shortName": "text",
        "infoURL": "text",
        "chainId": 1,
        "updatedAt": "2025-06-25T09:58:15.785Z",
        "createdAt": "2025-06-25T09:58:15.785Z"
      },
      "walletId": "text",
      "identity": {
        "id": "text",
        "identifier": "text",
        "providerId": "text",
        "provider": {
          "id": "text",
          "logo": "text",
          "apiKey": "text",
          "delimiter": "text",
          "txHash": "text",
          "registry": [
            {
              "address": "text",
              "chainType": "EVM",
              "txHash": "text",
              "providerId": "text",
              "provider": {
                "id": "text",
                "logo": "text",
                "apiKey": "text",
                "delimiter": "text",
                "txHash": "text",
                "registry": [
                  "[Circular Reference]"
                ],
                "dataSourceId": 1,
                "ownerId": "text",
                "updatedAt": "2025-06-25T09:58:15.785Z",
                "createdAt": "2025-06-25T09:58:15.785Z"
              }
            }
          ],
          "dataSourceId": 1,
          "ownerId": "text",
          "updatedAt": "2025-06-25T09:58:15.785Z",
          "createdAt": "2025-06-25T09:58:15.785Z"
        },
        "defaultAddress": "text",
        "default": {
          "address": "text",
          "chain": {
            "id": 1,
            "name": "text",
            "symbol": "text",
            "icon": "text",
            "rpc": [
              "text"
            ],
            "type": "EVM",
            "shortName": "text",
            "infoURL": "text",
            "chainId": 1,
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          },
          "chainId": 1,
          "isMultisig": false,
          "isSmartContractWallet": false,
          "walletId": {
            "id": 1,
            "name": "text",
            "symbol": "text",
            "icon": "text",
            "rpc": [
              "text"
            ],
            "type": "EVM",
            "shortName": "text",
            "infoURL": "text",
            "chainId": 1,
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          },
          "updatedAt": "2025-06-25T09:58:15.785Z",
          "createdAt": "2025-06-25T09:58:15.785Z"
        },
        "secondary": [
          {
            "id": "text",
            "address": "text",
            "isMultisig": false,
            "isSmartContractWallet": false,
            "chainId": 1,
            "chain": {
              "id": 1,
              "name": "text",
              "symbol": "text",
              "icon": "text",
              "rpc": [
                "text"
              ],
              "type": "EVM",
              "shortName": "text",
              "infoURL": "text",
              "chainId": 1,
              "updatedAt": "2025-06-25T09:58:15.785Z",
              "createdAt": "2025-06-25T09:58:15.785Z"
            },
            "walletId": "text",
            "identity": "[Circular Reference]",
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          }
        ],
        "nonce": 0,
        "currentSignature": "text",
        "previousSignature": "text",
        "isContract": false,
        "syncedAt": "2025-06-25T09:58:15.785Z",
        "createdAt": "2025-06-25T09:58:15.785Z"
      },
      "updatedAt": "2025-06-25T09:58:15.785Z",
      "createdAt": "2025-06-25T09:58:15.785Z"
    }
  ],
  "nonce": 0,
  "currentSignature": "text",
  "previousSignature": "text",
  "isContract": false,
  "syncedAt": "2025-06-25T09:58:15.785Z",
  "createdAt": "2025-06-25T09:58:15.785Z"
}

Identity should now be created, if faced with any error, check our troubleshooting guide or ask in our discord

Resolve Identity

Get Identity

get
Authorizations
Query parameters
idstringOptionalExample: satyams@fetcch
addressstringOptionalExample: 0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE
signedMessagestringOptionalExample: 0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE34423232
Responses
200Success
application/json
get
GET /v1/identity HTTP/1.1
Host: sandbox-api.fetcch.xyz
secret-key: YOUR_API_KEY
Accept: */*
{
  "data": {
    "id": "text",
    "identifier": "text",
    "providerId": "text",
    "provider": {
      "id": "text",
      "logo": "text",
      "apiKey": "text",
      "delimiter": "text",
      "txHash": "text",
      "registry": [
        {
          "address": "text",
          "chainType": "EVM",
          "txHash": "text",
          "providerId": "text",
          "provider": {
            "id": "text",
            "logo": "text",
            "apiKey": "text",
            "delimiter": "text",
            "txHash": "text",
            "registry": "[Circular Reference]",
            "dataSourceId": 1,
            "ownerId": "text",
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          }
        }
      ],
      "dataSourceId": 1,
      "ownerId": "text",
      "updatedAt": "2025-06-25T09:58:15.785Z",
      "createdAt": "2025-06-25T09:58:15.785Z"
    },
    "defaultAddress": "text",
    "default": {
      "address": "text",
      "chain": {
        "id": 1,
        "name": "text",
        "symbol": "text",
        "icon": "text",
        "rpc": [
          "text"
        ],
        "type": "EVM",
        "shortName": "text",
        "infoURL": "text",
        "chainId": 1,
        "updatedAt": "2025-06-25T09:58:15.785Z",
        "createdAt": "2025-06-25T09:58:15.785Z"
      },
      "chainId": 1,
      "isMultisig": false,
      "isSmartContractWallet": false,
      "walletId": {
        "id": 1,
        "name": "text",
        "symbol": "text",
        "icon": "text",
        "rpc": [
          "text"
        ],
        "type": "EVM",
        "shortName": "text",
        "infoURL": "text",
        "chainId": 1,
        "updatedAt": "2025-06-25T09:58:15.785Z",
        "createdAt": "2025-06-25T09:58:15.785Z"
      },
      "updatedAt": "2025-06-25T09:58:15.785Z",
      "createdAt": "2025-06-25T09:58:15.785Z"
    },
    "secondary": [
      {
        "id": "text",
        "address": "text",
        "isMultisig": false,
        "isSmartContractWallet": false,
        "chainId": 1,
        "chain": {
          "id": 1,
          "name": "text",
          "symbol": "text",
          "icon": "text",
          "rpc": [
            "text"
          ],
          "type": "EVM",
          "shortName": "text",
          "infoURL": "text",
          "chainId": 1,
          "updatedAt": "2025-06-25T09:58:15.785Z",
          "createdAt": "2025-06-25T09:58:15.785Z"
        },
        "walletId": "text",
        "identity": {
          "id": "text",
          "identifier": "text",
          "providerId": "text",
          "provider": {
            "id": "text",
            "logo": "text",
            "apiKey": "text",
            "delimiter": "text",
            "txHash": "text",
            "registry": [
              {
                "address": "text",
                "chainType": "EVM",
                "txHash": "text",
                "providerId": "text",
                "provider": {
                  "id": "text",
                  "logo": "text",
                  "apiKey": "text",
                  "delimiter": "text",
                  "txHash": "text",
                  "registry": "[Circular Reference]",
                  "dataSourceId": 1,
                  "ownerId": "text",
                  "updatedAt": "2025-06-25T09:58:15.785Z",
                  "createdAt": "2025-06-25T09:58:15.785Z"
                }
              }
            ],
            "dataSourceId": 1,
            "ownerId": "text",
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          },
          "defaultAddress": "text",
          "default": {
            "address": "text",
            "chain": {
              "id": 1,
              "name": "text",
              "symbol": "text",
              "icon": "text",
              "rpc": [
                "text"
              ],
              "type": "EVM",
              "shortName": "text",
              "infoURL": "text",
              "chainId": 1,
              "updatedAt": "2025-06-25T09:58:15.785Z",
              "createdAt": "2025-06-25T09:58:15.785Z"
            },
            "chainId": 1,
            "isMultisig": false,
            "isSmartContractWallet": false,
            "walletId": {
              "id": 1,
              "name": "text",
              "symbol": "text",
              "icon": "text",
              "rpc": [
                "text"
              ],
              "type": "EVM",
              "shortName": "text",
              "infoURL": "text",
              "chainId": 1,
              "updatedAt": "2025-06-25T09:58:15.785Z",
              "createdAt": "2025-06-25T09:58:15.785Z"
            },
            "updatedAt": "2025-06-25T09:58:15.785Z",
            "createdAt": "2025-06-25T09:58:15.785Z"
          },
          "secondary": [
            "[Circular Reference]"
          ],
          "nonce": 0,
          "currentSignature": "text",
          "previousSignature": "text",
          "isContract": false,
          "syncedAt": "2025-06-25T09:58:15.785Z",
          "createdAt": "2025-06-25T09:58:15.785Z"
        },
        "updatedAt": "2025-06-25T09:58:15.785Z",
        "createdAt": "2025-06-25T09:58:15.785Z"
      }
    ],
    "nonce": 0,
    "currentSignature": "text",
    "previousSignature": "text",
    "isContract": false,
    "syncedAt": "2025-06-25T09:58:15.785Z",
    "createdAt": "2025-06-25T09:58:15.785Z"
  },
  "status": 1,
  "timestamp": "2025-06-25T09:58:15.785Z"
}

Last updated