transferOwnership Error -> Ownable: caller is not the owner

Hello I am having an issue dealing with 'transferOwnership'

Below is my collection (

And I am trying to transfer ownership to other address.
But I encountered with an error that I am not the owner of this collection.
Ownable: caller is not the owner

It may be because I separated my contract into deployer, collection, factory ...
And this collection says its owner is not me, but the deployer address

  • owner address ends with 8D2F
  • deployer address ends with 290e

Here are my codes for transferOwnership

async function transferOwnership(slug, artist) {
  const address = await getCollectionAddress(slug);
  const c = new web3.eth.Contract(collectionAbi, address);

  const gas = await c.methods
    .estimateGas({ from: owner });
  await c.methods.transferOwnership(artist).send({
    from: owner,
    gas: gas,
    gasPrice: web3.utils.toWei("25", "gwei"),

is there something you guy can help me?