I have created a token on the bsc testnet, and have also created a liquidity pool. I am trying to provide initial liquidity but an error is shown whenever I try to do so.

The error message is below.

code: -32603, message: "Internal JSON-RPC error." data: { code: 32000, message: "gas required exceeds allowance (29885420) or always failing transaction" }

I have already called the 'initialise' method with the two tokens shown below, and have tried providing liquidity based on those two tokens, am I missing out on some steps?

I am using the pancake-swap-interface https://github.com/pancakeswap/pancake-swap-interface

For the tokens, I copied the token from https://github.com/goosedefi/goose-contracts/blob/master/contracts/EggToken.sol

My token address: 0xA6dE8E037201c6Ff9ff58e7fB72fE1Dbd15D1888

My psuedo BUSD address (copied from real BUSD): 0xA9bcCacD1D3f2EE7CA525f59c779F8c716965978

My LP token address: 0xb513219b46307eDDcaeFd1Aac99EB16394746B28

Thank you all, I know this isnt the correct place to ask questions about binance smart chain, but I do not know where to ask questions regarding bsc, so I am asking it here, if you guys could point me to where I can ask questions regarding bsc, I woudl really appreciate it. Also, I'm new to blockchain development hence if there are any resources on how to properly create a yield farming token, that would be great too, thanks all!

  • 1
    Redeploying all these contracts on testnet seems very complicated! Have you considered using ganache to fork mainnet? Basically, you would copy bsc mainnet on a local ganache node on which you can run tests for free.
    – Undead8
    Mar 25, 2021 at 2:38
  • thank you for replying! :-) but how do i do that? im not sure if ganache can connect to bsc network
    – jason
    Mar 25, 2021 at 2:58
  • Voting to close this question is does not appear to be about Ethereum blockchain. Mar 25, 2021 at 8:23
  • 1
    bsc is a copy of ethereum, so ganache fork will work
    – Majd TL
    Mar 25, 2021 at 8:50
  • Were you able to solve it? Thanks
    – Eat-Tirion
    Apr 14, 2021 at 18:53

2 Answers 2


Let me suggest a much easier alternative to achieve what you want.

  • Install ganache-cli
  • Deploy a ganache node by forking bsc mainnet. In terminal: ganache-cli -f https://bsc-dataseed.binance.org/

You are now running a local test node that has a full copy of bsc mainnet. You can connect to your local test node with Remix or Metamask, for instance.

  • thank you for answering! sorry im new to this but what do you mean by 'a full copy of bsc mainnet' ? does it mean that all the contracts on the mainnet would be available on my local copy? and if so, does it also mean that the bnb i use would be 'fake'? meaning i can get it from the faucet to give me more bnb? thank you!
    – jason
    Mar 25, 2021 at 4:36
  • 1
    Yes and yes. All the contracts on bsc would be there. Ganache gives you 10 unlocked accounts with 100 fake bnb right away, so you don't need a faucet. You can use those to make fake pancake swap transactions. Check ganache documentation to see how you can customize your test blockchain.
    – Undead8
    Mar 25, 2021 at 7:54
  • 1
    Any function or contract on bsc mainnet should work on your local ganache node right away, but every transaction that you make will only be saved on your local node and not on the real mainnet.
    – Undead8
    Mar 25, 2021 at 13:21
  • 2
    hi so sorry to bother you, but after running a local test node with a full copy of bsc mainnet, i went to run truffle migrate in order to deploy my contracts to that local copy, but i received this error 'Returned error: Returned error: missing trie node 39b471f11145d529650de7fe45283b856787abeb34fda57de9fa3d86d526cc8e (path ).', do u have any idea whats causing this?
    – jason
    Mar 25, 2021 at 15:20
  • 1
    When I saw this in the past, I think that it was either because I was trying to access data in a past block (I think that ganache only allows you to query the latest block), or ganache made too many requests to bsc-dataseed.binance.org and the API just blocked me. Sometimes I would get that error, do the same thing a bit later and not get the error. So, I'm not sure...
    – Undead8
    Mar 25, 2021 at 17:43

Use the pancakeswap contract directly on bscscan testnet: https://testnet.bscscan.com/address/0xD99D1c33F9fC3444f8101754aBC46c52416550D1#writeContract

  • No need to use this contract - pancake swap testnet supports this - simply go to liquidity and paste your token's contract and create a pool and add liquidity pancake.kiemtienonline360.com
    – evanjmg
    Feb 3 at 22:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.