Fetcch
  • 🟠What is Fetcch?
  • 🚅Pull Payments Layer
    • 🔭Overview
    • ❓How it works?
      • 👮Specification
      • 🎒How is it stored?
      • 🌊Pull Payments Flow
    • 🔐Security
      • 🎒Storage
      • ⛓️Cross Chain
    • ⚔️Use Pull Payments
  • 🆔Universal Identity Layer
    • 🔭Overview
    • ❓How it works?
      • 👮Specifications
      • 🎒How is it stored?
      • 🌊Identity Flow
    • 🔐Security
      • 🎒Storage
    • ⚔️Use Fetcch Identity
  • 🏗️Data Structures
    • 📖Address Books
      • 🔭Overview
      • 🎒Storage
  • 💻How to integrate?
    • ✈️Quickstart
    • ⛷️SDK Quickstart
    • 🔓Blockchain
    • ✨Guides
      • 🙇Authentication
      • 😁Identity
        • How to resolve identity?
        • How to create identity?
        • How to update identity?
      • 🤌Transaction Requests
        • How to get transaction requests?
        • How to create transaction request?
        • How to build transaction?
        • How to resolve transaction request?
      • 🫂Address Books
        • How to get address books?
        • How to create address books?
        • How to share address book?
        • How to accept address book request?
      • ⚙️Utility
        • How to sign messages?
          • EVM
          • Solana
          • Aptos
          • EIP-6492 Compatible Signatures
        • How to generate & verify proofs for identity?
    • 📖API Reference
      • ☢️Troubleshooting Errors
      • 🟢OpenAPI Specs
  • 🐧Open Source
    • 📸@fetcch/resolve-names
  • 🥶FAQs
    • FAQs
Powered by GitBook
On this page
  1. How to integrate?
  2. Guides
  3. Identity

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

Create Identity

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

Resolve Identity

PreviousHow to resolve identity?NextHow to update identity?

Last updated 1 year ago

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

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

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

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

💻
✨
😁
guide for respective chains
here
troubleshooting guide
arranged identity

Get Identity

get
Authorizations
Query parameters
idstringOptionalExample: satyams@fetcch
addressstringOptionalExample: 0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE
signedMessagestringOptionalExample: 0x8E9e20b90efa7d0A072bfc8b0C74D96104F1F6FE34423232
Responses
200Success
application/json
400Error
application/json
401Error
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-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          }
        }
      ],
      "dataSourceId": 1,
      "ownerId": "text",
      "updatedAt": "2025-05-12T03:54:56.688Z",
      "createdAt": "2025-05-12T03:54:56.688Z"
    },
    "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-05-12T03:54:56.688Z",
        "createdAt": "2025-05-12T03:54:56.688Z"
      },
      "chainId": 1,
      "isMultisig": true,
      "isSmartContractWallet": true,
      "walletId": {
        "id": 1,
        "name": "text",
        "symbol": "text",
        "icon": "text",
        "rpc": [
          "text"
        ],
        "type": "EVM",
        "shortName": "text",
        "infoURL": "text",
        "chainId": 1,
        "updatedAt": "2025-05-12T03:54:56.688Z",
        "createdAt": "2025-05-12T03:54:56.688Z"
      },
      "updatedAt": "2025-05-12T03:54:56.688Z",
      "createdAt": "2025-05-12T03:54:56.688Z"
    },
    "secondary": [
      {
        "id": "text",
        "address": "text",
        "isMultisig": true,
        "isSmartContractWallet": true,
        "chainId": 1,
        "chain": {
          "id": 1,
          "name": "text",
          "symbol": "text",
          "icon": "text",
          "rpc": [
            "text"
          ],
          "type": "EVM",
          "shortName": "text",
          "infoURL": "text",
          "chainId": 1,
          "updatedAt": "2025-05-12T03:54:56.688Z",
          "createdAt": "2025-05-12T03:54:56.688Z"
        },
        "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-05-12T03:54:56.688Z",
                  "createdAt": "2025-05-12T03:54:56.688Z"
                }
              }
            ],
            "dataSourceId": 1,
            "ownerId": "text",
            "updatedAt": "2025-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          },
          "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-05-12T03:54:56.688Z",
              "createdAt": "2025-05-12T03:54:56.688Z"
            },
            "chainId": 1,
            "isMultisig": true,
            "isSmartContractWallet": true,
            "walletId": {
              "id": 1,
              "name": "text",
              "symbol": "text",
              "icon": "text",
              "rpc": [
                "text"
              ],
              "type": "EVM",
              "shortName": "text",
              "infoURL": "text",
              "chainId": 1,
              "updatedAt": "2025-05-12T03:54:56.688Z",
              "createdAt": "2025-05-12T03:54:56.688Z"
            },
            "updatedAt": "2025-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          },
          "secondary": [
            "[Circular Reference]"
          ],
          "nonce": 1,
          "currentSignature": "text",
          "previousSignature": "text",
          "isContract": true,
          "syncedAt": "2025-05-12T03:54:56.688Z",
          "createdAt": "2025-05-12T03:54:56.688Z"
        },
        "updatedAt": "2025-05-12T03:54:56.688Z",
        "createdAt": "2025-05-12T03:54:56.688Z"
      }
    ],
    "nonce": 1,
    "currentSignature": "text",
    "previousSignature": "text",
    "isContract": true,
    "syncedAt": "2025-05-12T03:54:56.688Z",
    "createdAt": "2025-05-12T03:54:56.688Z"
  },
  "status": 1,
  "timestamp": "2025-05-12T03:54:56.688Z"
}
  • Arrange Identity
  • Generate Message
  • POSTGenerate Message
  • Create Identity
  • POSTCreate Identity
  • Resolve Identity
  • GETGet Identity

Generate Message

post
Authorizations
Body
idstringRequired
identifierstringRequired
providerstringRequired
currentSignaturestringOptional
previousSignaturestringOptional
Responses
200Success
application/json
400Error
application/json
401Error
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": ""
}

Create Identity

post
Authorizations
Body
idstringRequired
identifierstringRequired
providerstringRequired
currentSignaturestringOptional
previousSignaturestringOptional
Responses
200Success
application/json
400Error
application/json
401Error
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-05-12T03:54:56.688Z",
          "createdAt": "2025-05-12T03:54:56.688Z"
        }
      }
    ],
    "dataSourceId": 1,
    "ownerId": "text",
    "updatedAt": "2025-05-12T03:54:56.688Z",
    "createdAt": "2025-05-12T03:54:56.688Z"
  },
  "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-05-12T03:54:56.688Z",
      "createdAt": "2025-05-12T03:54:56.688Z"
    },
    "chainId": 1,
    "isMultisig": true,
    "isSmartContractWallet": true,
    "walletId": {
      "id": 1,
      "name": "text",
      "symbol": "text",
      "icon": "text",
      "rpc": [
        "text"
      ],
      "type": "EVM",
      "shortName": "text",
      "infoURL": "text",
      "chainId": 1,
      "updatedAt": "2025-05-12T03:54:56.688Z",
      "createdAt": "2025-05-12T03:54:56.688Z"
    },
    "updatedAt": "2025-05-12T03:54:56.688Z",
    "createdAt": "2025-05-12T03:54:56.688Z"
  },
  "secondary": [
    {
      "id": "text",
      "address": "text",
      "isMultisig": true,
      "isSmartContractWallet": true,
      "chainId": 1,
      "chain": {
        "id": 1,
        "name": "text",
        "symbol": "text",
        "icon": "text",
        "rpc": [
          "text"
        ],
        "type": "EVM",
        "shortName": "text",
        "infoURL": "text",
        "chainId": 1,
        "updatedAt": "2025-05-12T03:54:56.688Z",
        "createdAt": "2025-05-12T03:54:56.688Z"
      },
      "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-05-12T03:54:56.688Z",
                "createdAt": "2025-05-12T03:54:56.688Z"
              }
            }
          ],
          "dataSourceId": 1,
          "ownerId": "text",
          "updatedAt": "2025-05-12T03:54:56.688Z",
          "createdAt": "2025-05-12T03:54:56.688Z"
        },
        "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-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          },
          "chainId": 1,
          "isMultisig": true,
          "isSmartContractWallet": true,
          "walletId": {
            "id": 1,
            "name": "text",
            "symbol": "text",
            "icon": "text",
            "rpc": [
              "text"
            ],
            "type": "EVM",
            "shortName": "text",
            "infoURL": "text",
            "chainId": 1,
            "updatedAt": "2025-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          },
          "updatedAt": "2025-05-12T03:54:56.688Z",
          "createdAt": "2025-05-12T03:54:56.688Z"
        },
        "secondary": [
          {
            "id": "text",
            "address": "text",
            "isMultisig": true,
            "isSmartContractWallet": true,
            "chainId": 1,
            "chain": {
              "id": 1,
              "name": "text",
              "symbol": "text",
              "icon": "text",
              "rpc": [
                "text"
              ],
              "type": "EVM",
              "shortName": "text",
              "infoURL": "text",
              "chainId": 1,
              "updatedAt": "2025-05-12T03:54:56.688Z",
              "createdAt": "2025-05-12T03:54:56.688Z"
            },
            "walletId": "text",
            "identity": "[Circular Reference]",
            "updatedAt": "2025-05-12T03:54:56.688Z",
            "createdAt": "2025-05-12T03:54:56.688Z"
          }
        ],
        "nonce": 1,
        "currentSignature": "text",
        "previousSignature": "text",
        "isContract": true,
        "syncedAt": "2025-05-12T03:54:56.688Z",
        "createdAt": "2025-05-12T03:54:56.688Z"
      },
      "updatedAt": "2025-05-12T03:54:56.688Z",
      "createdAt": "2025-05-12T03:54:56.688Z"
    }
  ],
  "nonce": 1,
  "currentSignature": "text",
  "previousSignature": "text",
  "isContract": true,
  "syncedAt": "2025-05-12T03:54:56.688Z",
  "createdAt": "2025-05-12T03:54:56.688Z"
}