A PUT
request sent to verify a non-custodial
wallet.
Confirming the ownership of a wallet is vital for the safeguarding of your assets and to emit a new card (virtual or physical).
At its core, demonstrating ownership of a certain wallet or address equates to having the capability to move assets from that particular wallet or address.
There exist multiple methods to ascertain ownership. One prevalent method is through message signing, where a message is signed using the private key that correlates with a public address, verifying ownership.
By holding the private keys, you're enabled to sign transactions, solidifying your claim to the wallet. Additionally, you can produce a distinct signature that affirms ownership of a particular wallet or address.
Example with Ethersjs:
const wallet = ethers.Wallet.createRandom();
const types = {
User: [{ name: 'userId', type: 'string' }],
};
const domain = {
name: 'Kulipa Wallet Verification',
version: '1',
chainId: 1, // this is the chain ID of the wallet network
verifyingContract: '0x0000000000000000000000000000000000000001', // your wallet address or smart contract address
};
const message = {
userId: 'usr-123',
};
const signature = await wallet.signTypedData(domain, types, message);
Chain IDs are unique identifiers for blockchain networks. They are used to differentiate between different networks and are crucial for wallet verification.
400The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
401Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
403The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401
Unauthorized, the client's identity is known to the server.
429The user has sent too many requests in a given amount of time ("rate limiting").
500The server has encountered a situation it does not know how to handle.
502This error response means that the server, while working as a gateway to get a response needed to handle the request, got an invalid response.
503The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded.
504This error response is given when the server is acting as a gateway and cannot get a response in time.