合同违约金以当事人约定为准,法律没有具体规章合同违约金上限,合同违约金以当事人约定为主,可以约定具体数额,也可以约定计算方法,如果约定的违约金过高或者过低,当事人可以请求予以减少或增加。如果是定金合同,约定定金数额不得超过主合同标的额的20%。《民法典》第五百八十五条  当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金,也可以约定因违约产生的损失赔偿额的计算方法。约定的违约金低于造成的损失的,人民法院或者仲裁机构可以根据当事人的请求予以增加;约定的违约金过分高于造成的损失的,人民法院或者仲裁机构可以根据当事人的请求予以适当减少。当事人就迟延履行约定违约金的,违约方支付违约金后,还应当履行债务。第五百八十六条  当事人可以约定一方向对方给付定金作为债权的担保。定金合同自实际交付定金时成立。定金的数额由当事人约定;但是,不得超过主合同标的额的百分之二十,超过部分不产生定金的效力。实际交付的定金数额多于或者少于约定数额的,视为变更约定的定金数额。