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
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
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
satyams@fetcch
0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE
0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE34423232
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