How to transfer erc20 on mainnet?

Hey, is there any example of a working erc20 transfer on matic mainnet? When I attempt to call a transfer of the (POS) Dai token it hangs for 750 seconds before erroring. This is using Infura and Web3. There’s not really any working documentation that explains how to transfer assets on the network, only between.

    var polyweb3 = new Web3(new Web3.providers.HttpProvider(`${infura}`))
        var contract = new polyweb3.eth.Contract(config.daiAbiArray, "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063") // abi from

        var data = contract.methods.transfer(to, amount)
        var gasLimit = 75000 // fallback
        await data.estimateGas({from: from})
        .then(gasAmount => {
            gasLimit = gasAmount
        }).catch(e => {

        // fill data of contract
        var rawTransaction = {
            from: from,
            to: "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",
            gasLimit: polyweb3.utils.toHex(gasLimit),
            gasPrice: gasPrice,
            value: '0x0',
            data: data.encodeABI(),
            chainId: 137,
            nonce: polyweb3.utils.toHex(count)
        var transaction = new Tx(rawTransaction)

        // Sign transaction
        var serialized = transaction.serialize()
        // Send transaction
        .then(rcpt => {
            return cb(true, rcpt.transactionHash)
        .catch(err => {
            return cb(false, err)

Hello @Shrewbi we believe your case will be resolved promptly via any of our support links:

Live Chat

Telegram Dev Support
[Telegram: Contact @PolygonDevs]

Hey, thanks for the quick reply. The exact error message is

Error: Transaction was not mined within 750 seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!

Thanks for the reply. I’ll take a live chat when I’m developing on the project next time!