Rather than setting a bandwidth/burst, consider enabling the bandwidth accounting:
https://2019.www.torproject.org/docs/tor-manual.html.en#AccountingMax
Limits the max number of bytes sent and received within a set time period using a given calculation rule (see: AccountingStart, AccountingRule). Useful if you need to stay under a specific bandwidth. [...] If you have bandwidth cost issues, enabling hibernation is preferable to setting a low bandwidth, since it provides users with a collection of fast servers that are up some of the time, which is more useful than a set of slow servers that are always "available".
For example:
AccountingMax 3395 GBytes
# 3646 GB = 3395 GiB
AccountingRule out
# only count outgoing traffic
AccountingStart month 1 0:00
# start on the first day of each month
To set the bandwidth/burst rate, let's assume that your DigitalOcean bandwidth limit is 3646 GB for outgoing data only, and that incoming is unlimited (this used to be the case, but their help page doesn't mention incoming data anymore). Let's also assume that your units use decimal prefixes since you used GB and not GiB and the decimal value is lower (so you don't accidentally go over your limit because of unit confusion).
There are 2,678,400 seconds in 31 days and 3646000000000 B in 3646 GB. This works out to a maximum bandwidth rate of 1361260 B/s. Tor's configuration file uses binary prefixes, so 1361260 B/s is equivalent to about 1.29 MiB/s.
Setting the following lines in your torrc configuration should make it unlikely that you exceed your limit.
BandwidthRate 1.29 MBytes
BandwidthBurst 2 MBytes
But this is specifically the case that the bandwidth accounting was designed for, so I'd recommend using those (or slightly higher) bandwidth values, but also setting AccountingMax
.
You should also disable your Nyx bandwidth settings in this case.