Some Simple Tips When Using Crypto in Contracts (not Smart Contract)
A few friends asked me recently, is it normal or easy to accept crypto payments in contracts?
Yes, it’s easy. However, there are some simple considerations.
The simplest approach is when both parties agree on a specific amount of a specific currency. Eg, 100 BNB or 1 BTC. This is straightforward. No conversion rate issues. No ambiguity. You give a receiving address (or a Binance Pay id), they pay, and you are done. It has some drawbacks. The price of the asset may fluctuate in fiat terms. This may be more of a problem if the contract involves several payments over a long period of time.
Another approach is to specify a fiat amount to be paid in a crypto currency. Eg, 1000 JPY paid in BTC. If the crypto currency is a stable coin, it is generally easy. But remember, even stable coins can de-peg from time to time. You may want to include a depegging limit and specify a few alternatives.
If you specify $1000 USD equivalent to be paid in BTC, then you will have to specify how to determine the conversion rate. You could use the daily open price on Binance.com, or a 5 day average on the day of the payment. Be as specific as possible, and as objective as possible.
If the contract involves early termination possibilities or any deposits and may be returned at some future date, be sure to specify the return currency and amount. I see many contracts with a deposit of say $100 in BTC, then the parties argue they want the original BTC amount, or USD back, whichever has appreciated more over time. Even Binance made this mistake (lack of clarity) multiple times in the past.
If the amount involved is large, you will have to think about treasury management or conversion rates on your end. But that's a topic for a different post. You could use Binance Convert to convert large amounts of crypto.
Hope this helps.