Binance API: APIError(code=-1111): Precision is over the maximum defined for this asset. || Python

Based on your code and a bit of familiarity with trading crypto I am assuming that the 'balance' you are calculating is your USDT balance and not your ADA balance via i_o = float(bal[11]["free"]) which would mean that you are placing a buy order for an amount of ADA equal to your current USDT balance (rounded) -- are you sure that's what you want to be doing?

To more directly answer your question as to why you are getting that error, I can only deduce that you must be calculating the price at which you would like to buy using a function that includes division and that your resultant v_min is ending up being something like 1.32578935987532098325 and not 1.2.

Therefore, you would like to also round it, for your convenience:

price = float(round(v_min,8)) ,