2022-01-03: The companion app

Yes. Another wallet app. Why you may ask?

I want to experiment with a "payment initiation protocol" that works across tokens and enables tokens that does not currently have a protocol specified for the purpose to enable such transfers.

The protocol consists of a specially crafted url that is embeddable in a qr code for easy transfer. tmno://pay?t=xlm&a=3.0&d=fkewopokwe32423r&m=dcV3s

  1. t = token type
  2. a = amount
  3. d = destination account
  4. m = memo

Memo is used by tokenmo to determine which purchase is being paid for much like you would do when doing traditional bank transfers.

Destination accounts can also be "domain accounts" like example*tokenmo.eu. Using this style requires that your domain is configured to handle these. A dns TXT record that contains an URL for where to extract the underlying destination accounts. This functionality is inspired by the stellar protocol for similar behaviour.

An example for the content of the TXT record could be https://accounts.tokenmo.eu/. Making a GET request to /account?addr=example*tokenmo.eu would result in the following response.

{
	"name": "example*tokenmo.eu",
	"accounts": {
		"xlm" : {"account": "sdflsefij"}
	}
}

2021-12-08: What is this?

Tokenmo is a way of accepting various crypto tokens without having to know the details about each token. The only thing you provide is your public wallet address and you are ready to accept crypto using a simple unified api.

$ curl -H "Content-Type: application/json" \
--data '{"Currency": "XLM", Items: [{"Title": "Donation", "Amount": "3.0"}]}' \
/api/v1/new

{"PID": "0473c17f-8fcc-4dcd-914f-878a7bc6d28a"}

Your online store will be able to listen to events on your active orders and update your payment site accordingly. Alternatively you can use our hosted payment site and the customer will be redirected to a url of your choosing after full payment.

Once your purchase get's paid, your callback hook will be called with the amount paid and whether it is paid in full. Based on the purchase id, you can find an overview of all transactions in an administrative interface.

/my-callback-hook

{"Amount": "3.0", "IsFullyPaid": true "PID": "0473c17f-8fcc-4dcd-914f-878a7bc6d28a"}

2021-12-07: Who are "we"?

When i write "we" i actually mean i. This project is currently a one man band but when writing, we sounds much better. You can call me schizophrenic. It's alright. But only until the project is mature enough to let in another being. Human or otherwise.

So who am i? I'm Jens, and i have been bothered about the cost and complexities in moving value from one destination to another. Visa, Mastercard, Banks and money transfer companies are monopolizing the act of moving value represented as "money" between individuals and corporations.

The goal of this project is to create an option to move values with the same ease as it is to use "swipe to pay apps"(Mobilepay in Denmark) and "wireless payments"(debit/credit cards) but using crypto tokens between wallets that you own and control. All transactions are to be compared to cash transactions in that they are final and has no way of being retracted unless you agree with the receiver that you should reverse it.

Crypto tokens has the possibility of removing some of these complexities and too expensive middle men. Crypto certainly has it's issues, but for moving value between two entities where you only need to trust the network, there is no better alternative.

So which crypto tokens are we focusing on? The initial poc is using XLM(Stellar) due to it's low cost of transactions and the fact that is a proof of stake token. In general we do not want to support proof of work tokens as they are too power hungry in their design. Other tokens of interest are XRP(Ripple) and SOL(Solana) which also fits the same scenario of having low transaction costs and are proof of stake tokens. If governments start to release their own tokens and that the tech behind such are open, then these will have first priority. However, if they involve too much bureaucracy and paperwork and closed access it has absolutely no interest.

I also want to expose the development and the real world costs of this project in the open. Hence you can follow the development here in this journal and look up real world costs and other numbers here. Since this project is being developed in my spare time, progress is limited to time available after work, sleep and family time has been subtracted 24h - family time - sleep - work. Also in the past i have not been good at finishing my side projects. But maybe this is different if i'm building in public.

Can this project make money? Possibly. I am thinking of running it as a subscription based service once it is ready. And possibly based in the various tokens and not in fiat.

© tokenmo.eu | Social mastodon - pixelfed