Developing a non custodial payment gateway for STX

Brief introduction, I am CEO of Blockonomics team . Currently we are one of the most used Woocommerce bitcoin plugin . We are looking to add support for STX payments in a non custodial way. I have questions regarding this:

  • For bitcoin we generate unique address for each using the merchant xpub. However, in STX none of the wallets are currently exporting / providing xpub. Is this going to change in future ?
  • I understand that STX is using accounts. Reusing same account for different merchant orders creates problems in figuring out who paid. There is also a privacy question. What is the recommended way to handle this ?
  • UI wise we would also prefer a single xpub that can be used to derive both the STX and BTC address. This way our system can just take that to help merchant accept both BTC and STX in a non custodial way

PS: We are excited :slight_smile: about adding STX support and also looking forward to engage in a partnership with the stacks team to make progress on these. Would appreciate if a senior team member of the stacks would DM me so that we can discuss the possibilities :handshake:


This is great! :heart_eyes:

@yukan and @markmhendrickson are the people to ask about their future development plans

I’m not sure this is the “recommended” way to handle it, but here is what exchanges do and how you could adopt this method:

The way exchanges handle this is to use a “memo” field in addition to an account. In the case of an exchange like binance, the “memo” is set to a number uniquely identifying the user. In the case of your use case, perhaps the memo could be the order number, customer account number or some other unique identifier.

It’s not great for privacy of either users or the exchange because everyone knows the exchange account so it’s easy to watch. Using this approach for a merchant would have the same problem.

I don’t see why this wouldn’t be possible from a technical perspective. It would work fine from the perspective of a customer. A problem for merchants is going to be that existing wallet UI isn’t designed to work like this and it will be pretty cumbersome to consolidate incoming payments from many different accounts into one account.


This is something we’ll be exploring actively this quarter for Leather as an addition to our wallet support.


Thanks @markmhendrickson . I logged this issue on leather wallet repo . Would appreciate if it is assigned / labelled to be included in the roadmap