Via API

A new API key can generated by calling the /register endpoint.

The endpoint requires the following parameters:

  • account: the account's Ethereum address

  • signing_key: a randomly generated Ethereum address

  • expiry: UNIX timestamp in nanoseconds

  • account_signature: signature generated using the account's private key

  • signing_key_signature: signature generated using the signing_key's private key

To generate the signing_key, account_signature and signing_key_signature, you can follow the example code below:

  1. Generate signing_key:

const signer = ethers.Wallet.createRandom()
  1. Generate account_signature:

// First we hash the register data
const registerHash = ethers.utils._TypedDataEncoder.hash(
    {
      name: "Aevo Mainnet",
      version: "1",
      chainId: 1,
    },
    {
      Register: [
        { name: "key", type: "address" },
        { name: "expiry", type: "uint256" },
      ],
    },
    {
      key: await signer.getAddress(),
      expiry: ethers.constants.MaxUint256.toString(),
    }
);

// Then we sign the hash
const res = await promisify(provider.provider.sendAsync)({
  method: "eth_sign",
  params: [account.toLowerCase(), registerHash],
});

// This is the account_signature
const accountSignature = res.result;
  1. Generate signing_key_signature:

Last updated