QR code format standard for blockchain transactions

I’m trying to create a QR code generator that would generate transaction data for some of the common blockchains and wallets.

There is some confusion about the format for different blockchains, but at least for main blockchains - it seems to be defined as:

ethereum:0xb794f5ea0ba39494ce839613fffba74279579268?amount=1.123

for ETH (or BTC) and

ethereum:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/transfer?address=0xb794f5ea0ba39494ce839613fffba74279579268&uint256=111.123e6

for EVM-compatible coins (like USDC here).
source: ERC-681: URL Format for Transaction Requests

however… BNB doesn’t seem to follow that format. I tried the following:

binance:0xba5830175b16e5e48d94c6fa11041ff9ed3bae5a?amount=1.123
bnb:0xba5830175b16e5e48d94c6fa11041ff9ed3bae5a?amount=1.123
binance:0xba5830175b16e5e48d94c6fa11041ff9ed3bae5a?amount=1.123&memo=1234

and:

  • the binance app doesn’t understand any of the above (not even eth or btc) - I’d appreciate links to the qr code requirements specs

  • Trust Wallet doesn’t accept a BNB address written like that (funnily enough - amount and memo work flawlessly - same here, docs links would be amazing

  • metamask (which is Binance smart chain compatible) doesn’t understand any of the BNB options - same here

I have honestly spent hours researching this topic and I am simply astonished by the lack of documentation in that regard.

anyway. any help will be greatly appreciated!
cheers

ps. the original SO post is here: binance - QR code format standard for blockchain transactions - Stack Overflow

I would suggest you to have a look at:

  • BEP64 document regarding the QR code requirements spec.
  • The following thread about EIP-681 in BSC.

Hope it will be helpful.

hey
thank you for your response. To follow up:

  • the first link suggests the same syntax as the one I provided (at least for BNB itself), but the binance app (home screen → top, right corner, 4th icon from the right) scanner doesn’t understand it. any idea why this might be?
  • the second link seems to be broken (it’s literally https://eip-681) - would you mind re-sending?

cheers

Hey
Thank for the feedback.

  • I don’t know yet but I will have a look again
  • Sorry, here is the link

thank you for the link, those trustwallet dev docs are pure gold :slight_smile: