@sipa said in #11991:

> I haven't looked at the code, but inside QR codes it's advantageous to use uppercase Bech32 (it will result in a smaller QR encoding).

Is that still the case when rendered as URI?

Should amounts be added in a different way?

Would that involve amending BIP-21?
{
    QUrl uriInstance(uri);
    return parseBitcoinURI(uriInstance, out);
}
QString formatBitcoinURI(const SendCoinsRecipient &info)
{
    QString ret = QString("bitcoin:%1").arg(info.address);
    int paramCount = 0;
    if (info.amount)
    {
        ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::BTC, info.amount, false, BitcoinUnits::separatorNever));
        paramCount++;
    }
    if (!info.label.isEmpty())
    {
        QString lbl(QUrl::toPercentEncoding(info.label));
        ret += QString("%1label=%2").arg(paramCount == 0 ? "?" : "&").arg(lbl);
        paramCount++;
    }
    if (!info.message.isEmpty())
    {
        QString msg(QUrl::toPercentEncoding(info.message));
        ret += QString("%1message=%2").arg(paramCount == 0 ? "?" : "&").arg(msg);
        paramCount++;
    }
    return ret;
}
bool isDust(interfaces::Node& node, const QString& address, const CAmount& amount)