1
0
Fork 0

Token Grant v2

This commit is contained in:
Jon Michael Aanes 2024-05-02 19:32:23 +02:00
parent 828905ab16
commit 3968ef27ca
Signed by: Jmaa
SSH Key Fingerprint: SHA256:Ab0GfHGCblESJx7JRE4fj4bFy/KRpeLhi41y4pF3sNA
1 changed files with 198 additions and 0 deletions

198
finance/mpc-token-grant.md Normal file
View File

@ -0,0 +1,198 @@
# So you've been offered an MPC token grant
What now?
1. You sign the contract. (Signing date)
2. Your tokens will start vesting at a date mentioned in the contract. Each vesting date represents the point at which point a fraction of the grant tokens are yours in a contractual sense. You do not control them yet, but in some sense you are owed them by the company. (Vesting date)
3. Shortly after the vesting date these tokens will be moved to your PBC account. At this point you fully own and control them. (Control time)
4. You sell the tokens, hopefully for bazillions. (Sell time)
5. You pay roughly half of your bazillions to Skat.
Obviously **nothing in this document is financial advice**. This is meant **to give
an overview of what and how** is needed to cash out. Most of this will also be
relevant if you want to keep an investment in MPC tokens, but I will not be
covering that scenario in-depth. It assumes that you are paying danish taxes.
Make sure you read up on [the tax effects of
cryptocurrencies](https://skat.dk/borger/aktier-og-andre-vaerdipapirer/skat-paa-krypto-kend-reglerne-saa-du-undgaar-et-skattesmaek)
yourself.
## Overview
Assuming a scenario where you want to sell your MPC tokens ASAP for money
in the bank, you are probably looking on a flow of:
1. MPC Tokens are moved to your MPC account.
2. Transfer MPC tokens to Exchange A (Kucoin or gate.io)
3. Exchange MPC tokens for more liquid tokens (USDT)
4. Transfer liquid token to Exchange B (Kraken, Coinbase or Binance)
5. Exchange liquid token for fiat (USD, EUR).
6. Withdraw fiat to bank account.
Most steps above occur within exchanges and financial institutes, but step
2 happens directly on Partisia Blockchain, which requires BYOC
(Bring-Your-Own-Coin) for transferring MPC tokens. There exists several BYOC,
all of which must be transferred from another blockchain, with the easiest to
acquire being MATIC, the native coin of Polygon Proof-of-Stake. I recommend
buying enough to cover your entire token grant period:
1. Buy BYOC through exchange or payments processor. Around 40-50 USD worth
should be enough for the entire period.
2. Transfer to MetaMask-accessible account.
3. Deposit into your MPC account using the Browser's built-in BYOC bridging
page.
## Setting up accounts
There are three primary ways for setting up accounts:
1. Using a [Ledger Hardware Wallet](https://ledger.com/). This is at the intersection of easy and
secure. This is my recommended method, and probably the most relevant for
people reading this guide.
2. Using a [MetaMask](https://metamask.io/) account directly. This is something
called a Hot Wallet, which is easy to use, but leaves you open to hacking.
Not recommended.
3. Using a private key. Not easy, but can be made somewhat secure.
These accounts will be used for receiving MPC tokens, transferring them, and
acquiring BYOC.
I will only be covering Ledger, as that is what I will be using.
### Ledger Guide
[Ledger Hardware Wallet](https://ledger.com/) only works in Google Chrome and Chromium.
Setup guide:
1. Acquire a [Ledger Hardware Wallet](https://shop.ledger.com/), cheapest model
is fine.
2. Setup your Ledger Hardware Wallet using the built in setup guide. Remember
to backup your seed phrase as instructed.
3. Download Partisia Blockchain App from Ledger Live.
4. Install [MetaMask for Chrome](https://metamask.io/).
5. [Connect MetaMask to your Ledger](https://support.ledger.com/hc/en-us/articles/4404366864657-Connect-your-Ledger-to-MetaMask?docs=true).
You are now ready for using your Ledger Hardware Wallet for acquiring BYOC and
for transferring MPC Tokens.
## Selecting exchanges
MPC tokens is currently only traded only on a [few less reputable
exchanges](https://www.coingecko.com/en/coins/partisia-blockchain).
Ideally you would be exchanging to fiat currency and withdrawing to bank account at
the same exchange, but not all exchanges allows for fiat withdrawing, and not
all exchanges list MPC pairs, so you might need to do a multi-exchange setup.
In an multi-exchange setup you would exchange MPC for a well established token
(USDC, USDT, EURC, BTC, ETH) at one of the above-mentioned exchanges, and transfer
these to a more reputable exchange like Coinbase or Kraken. A stablecoin might
be preferable as inter-exchange currency, as these (partially) reduce your
exposure to crypto-related volatility, and can possibly ease your tax
documentation burdens.
### Exchange Overview
Includes exchanges where MPC is listed, and top 10 on both [CoinGecko](https://www.coingecko.com/en/exchanges) and [CoinMarketCap](https://coinmarketcap.com/rankings/exchanges/). Information may be outdated, DYOR.
Ordered by relevance and personal preference:
- [KuCoin](https://www.kucoin.com/): Listing exchange. No fiat withdraw. [Medium risk of collapse](https://manifold.markets/Base/the-next-crypto-exchange-to-file-fo).
- [Gate.io](https://www.gate.io): Listing exchange. No fiat withdraw.
- [Bitfinex](https://www.bitfinex.com): Listing exchange from Hong-Kong. [Allows fiat withdraw ($10000 minimum)](https://support.bitfinex.com/hc/en-us/articles/900007648263-How-to-make-a-Bank-Wire-Withdrawal-at-Bitfinex). Low liquidity, may risk slippage! [Medium risk of collapse](https://manifold.markets/Base/the-next-crypto-exchange-to-file-fo).
- [Kraken](https://www.kraken.com/): Based in San Francisco. Well-regarded and personal favorite. [Allows fiat withdraw](https://support.kraken.com/hc/en-us/articles/360048656092-How-to-withdraw-funds-from-your-Kraken-account). [Low risk of collapse](https://manifold.markets/Base/the-next-crypto-exchange-to-file-fo).
- [Binance](https://www.binance.com): Chinese and largest crypto exchange post FTX. [Allows fiat withdraw](https://www.binance.com/en/support/faq/how-to-withdraw-eur-from-binance-via-sepa-bank-transfer-fda6235094964faf8084902c8da94687). [Some risk of collapse](https://manifold.markets/MarcusAbramovitch/will-binance-collapse-before-the-en)
- [Coinbase](https://www.coinbase.com/): Second largest exchange, based in San Francisco. Runs USDC and EURC stable coins. [Allows fiat withdraw](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-sell-or-cash-out-my-digital-currency). [Some risk of collapse](https://manifold.markets/SpencerGreenberg/what-is-the-chance-that-coinbase-go).
- [HTX](https://www.htx.com) (formerly **Huobi**): Formerly Chinese-based Exchange. [Allows fiat withdraw](https://www.htx.com/support/54929997851541). [High risk of collapse](https://manifold.markets/itsTomekK/will-huobi-be-insolvent-by-the-end-d6ca4a840d2b).
- [Crypto.com](https://crypto.com): US specific? Based in Germany. [Allows fiat withdraw](https://help.crypto.com/en/articles/3857197-fiat-wallet-usd-withdrawal-via-ach). [High risk of collapse](https://manifold.markets/Base/the-next-crypto-exchange-to-file-fo).
- [Binance US](https://binance.us): US specific? [Allows fiat withdraw](https://support.binance.us/hc/en-us/articles/360047428893-How-to-Withdraw-via-ACH). [High risk of collapse](https://manifold.markets/Base/the-next-crypto-exchange-to-file-fo).
- [Bybit](https://www.bybit.com/): [Allows fiat withdraw](https://www.bybit.com/en/help-center/article/FAQ-Fiat-Withdrawal). Unknown risk of collapse.
- OKX
- Upbit
- Bitget
## Taxes and Paper Trails
First and foremost: Document absolutely everything, and keep a paper trail. This will be
useful for when Skat and your bank comes knocking, asking about your sudden
acquisition of bazillions of kroner.
Examples of documents to maintain and send to relevant authorities:
- Maintain a spreadsheet of what you did, when and why.
- Emails and documents from exchanges
- Links to (and maybe screenshots of?) transactions in [the Browser](https://browser.partisiablockchain.com/)
- Your MPC token grant contract is crucial in explaining the arrangement
- Contact information for your boss and [Partisia Applications](https://datacvr.virk.dk/enhed/virksomhed/39454882).
Secondarily, read up on: [Skat på krypto: Kend reglerne, så du undgår et skattesmæk](https://skat.dk/borger/aktier-og-andre-vaerdipapirer/skat-paa-krypto-kend-reglerne-saa-du-undgaar-et-skattesmaek)
Thirdly: The construction used in the contract is untested and might have
unintended tax consequences. The contract was meant to mirror a traditional
danish stock-based bonus contract, and attempts to fit into a known rule (for
stocks at least) where taxes are delayed until the _sell time_, but with
a clause that the asset must be paid back if the employee dies.
There are to my understanding two ways Skat can interpret the contract:
1. The contract more or less fits the rule, and taxes are computed at the
_sell time_, amounting to roughtly 52% of the price.
2. If the rule is not accepted, it would be most natural for taxes to be
computed at the _control time_, based on the most recent price, as this is
the point where you actually gain access to the tokens. This interpretation
incurs volatility risks, both for the employee, as they in effect acquire
a huge tax debt at the same time they acquire their tokens, and are motivated
to sell ASAP to cover this debt, but also for the MPC token ecosystem, as the
associated selling pressure may drive down prices.
The first interpretation would be preferable, as it would allow the employee to
cash out in stages and speculate with no risk of indebting themselves, and
would allow the employee to delay steps 1. through 7. for as long as they liked. As of
writing (marts 2024) it is still unknown which interpretation Skat will employ,
and I recommend acting as if the second interpretation is in effect.
## Example flow and report
| What | Input | Price | Fee% | Fee of Input | Output |
| PBC deposit | N/A | N/A | N/A | N/A | 10000 MPC |
| Kucoin deposit | 10000 MPC | 1/1 | 0% | 0 MPC | 10000 MPC |
| Kucoin exchange | 10000 MPC | 0.4 USDT | [`0.2%`](https://www.kucoin.com/vip/level) | 20 MPC | 3992 USDT |
| Kucoin withdraw | 3992 USDT | 1/1 | [`0.8 + 0%`](https://www.kucoin.com/vip/level) | 0.8 USDT | 3991.2 USDT SOL |
| Kraken deposit | 3991.2 USDT | 1/1 | [`0`](https://support.kraken.com/hc/en-us/articles/360000292886-Cryptocurrency-deposit-fees-and-minimums) | 0 USDT | 3991.2 USDT |
| Kraken exchange | 3991.2 USDT | €0.91 | [`0.4%`]((https://support.kraken.com/hc/en-us/articles/360000292886-Cryptocurrency-deposit-fees-and-minimums)) | €15.9648 | |
| Kraken instant SEPA withdraw | 3991.2 USDT | 1/1 | [`2`](https://support.kraken.com/hc/en-us/articles/360000423043-Cash-withdrawal-options-fees-minimums-and-processing-times-) | €2 | €3617.464032 |
Contrast with a theoretic value of `10000 MPC * (0.4 USDT/MPC) * (0.91 USDT/€) = €3640`, resulting in `€22.535968` lost to fees, and `€3640 * 52% = €1892.8` in taxes, giving you `€3640 - €1892.8 - €22.535968 = €1724.664032`, giving you `0.473809%`.
# Old and Scratchboard
## Practical
Preparation:
- [ ] Generate a private key.
* Use at least 256 bits (64 bytes)
* Consider using a vanity key generator to personalize and to help verificstion.
* Keep this safe; this is the password to transfer MPC tokens.
- [ ] Transfer BYOC/gas to your account in preparation for transferring your
MPC tokens.
- [ ] Prepare for selling MPC tokens:
* [ ] Select the exchange(s) you intend to use for selling MPC tokens. [See below.](#selecting-exchanges)
* [ ] Sign up and perform know-your-customer procedures. These might be
somewhat heavy-handed. For example Kucoin requires both document
verification and face verification.
- [ ] Possibly inform your bank about the situation. They are required by law
to perform due-diligence to avoid white washing, and will
question incoming transfers of bazillions of kroners.
When acquiring tokens:
0. MPC Tokens are moved to your account.
1. Transfer MPC tokens to exchange hosted account.
2. Exchange MPC tokens for more liquid tokens (BTC, ETH, USDT, USDC?)
3. Transfer liquid token to reputable exchange
4. Exchange liquid token to fiat (USD, EUR).
5. Withdraw fiat to bank account.
6. Report and pay taxable income.
7. Send relevant documents (see below) to bank and tax authorities.