T3 custodians

When a pool gets hit by a large buy or sell, it can lose the peg locally. This is especially true on pegs with a smaller amount of liquidity. A custodian acting in a Tier 3 capacity may be able to help in such a situation. The T3 custodian has several questions to satisfy, as any tier must:

  1. How to hold and report liquidity reserves
  2. How to interact with higher tiers
  3. How to interact with lower tiers
  4. How the custodians are compensated

1 can be a single signature address. 2 is just a question of who pays first, the custodian or the multisig signers. 3 requires exchange accounts and might make use of something like the gateway grant @masterOfDisaster put up for voting, or just being free to sell or buy nbt at a small spread from personal LPs. 4 is hopefully cheaper than tier 1, we need to think up mechanisms for this.

Thoughts?

3 Likes

I like this proposal for two reasons (I might be able to think of more if I have digested it a bit more):

  • it’s able to balance individual exchanges while FLOT should be mainly focused on the overall liquidity
  • balancing the sides of single exchanges aids the purpose of overall balancing (in addition to the effect of arbitrage) making interventions of the FLOT less frequent

Especially the second benefit is valuable. Activating the FLOT creates a lot more effort for the members (because of the multisig) than activating a single custodian does.

As long as the custodians don’t have to handle significant amounts of BTC or NBT, but still enough to balance walls, this should be way cheaper than T1 liquidity (no risk, only “locked” funds).

T3 custodians could put an NBT or BTC address into the grant to register this address as their T3 address. The first grant would be made with 1 NBT. Following grants would include a back pay of the preceding term.

That enables them to operate NuBot if they want to use it to promote funds from T3 to T1. I’m skipping T2 until we have a sound definition if T1 and T2; T1 for me is funds in orders with a spread within limits that allow compensation.

As soon as fixed cost pools are widely available, promoting funds from T3 to T1 is directly incentivized by the compensation that is increased (in relation to the invested funds) if walls are small.

Funds on T1 in excess can be moved to the registered T3 address again. Compensation for funds on that address should be oriented on the average amount on that address.
If funds leave a T3 address, but don’t show up at T1, T3 custodians would receive compensation for simply owning NBT or BTC.
That’s not how it should be, but it will be hard to identify it. With NuBot it’s at least possible.

A lot of data gathering and data mining is necessary and a part of it is tricky.
For NBT that already requires inspecting the UTXO on that address each block. For BTC it also requires logging the BTC/USD exchange rate per block, because the USD value of the BTC fluctuates.
The liquidity broadcast by NuBot needs to be correlated with the UTXOs of the T3 addresses. Then you know that T3 funds were used to prop up T1.

My interpretation of the T3 custodians more or less leads to liquidity providers that operate NuBot instead of participating in ALP who provide information about the T3 funds they control by registering T3 addresses together with the grant.
I fear that fair accounting of T3 funds is cumbersome.

1 Like

We need a different reward format. Perhaps T3 custodian gets paid based on how well the pegs are kept at particular exchanges? For example, the T3 custodian in charge of ccedk and bter nbt/btc pools gets paid $0.1/day for each pool if they are within 40% of balanced, giving a total of $0.2/day.

There are more possibilities, I’ll keep spitballing.

OK, how about a T3 custodian has to put up a bunch of nsr collateral (they can also be a trusted community member). Then, they are given an nbt and btc allowance for the week. They offer to sell nbt at $1.003 and buy at $0.997. Each week they rebalance their allowance with T4, pocketing 2% for each nbt bought or sold.

The issue is of course as @masterOfDisaster says, that auditing a T3 transaction is very difficult. We’d have to keep track of their nbt and btc addresses as well as the btc price at Txn time. This isn’t impossible, it’s just annoying.

What if the T3 custodian records the prices at txn time and shareholders can cross check the announced btc and nbt addresses with the record of the open market and the custodian’s reported prices? Maybe we could make a quick audit tool.

Sounds like a feature request for NuBot!
NuBot already is aware of BTC/USD and logs that.
A reliable block explorer with an API to retrieve UTXOs of addresses would be required, too.

Then it could be like this: an option
"T3enable": true, together with
"T3buySideAddress": "BTCaddress", and
"T3sellSideAddress": "NBTaddress",
makes NuBot broadcast and log T3 info as well.
A parser retrieves T3 information from the NuBot log files or an additional “T3 log” gets automatically created.

How does that sound?

Ok, so I don’t really know what you just said, but yah, it seems like this is totally doable. So, let’s assume that we can audit T3 custodians to verify their reported transaction record. That means that shareholders can be confident in the reward system of giving them a certain % of the transactions that involve them, other than their weekly allowance re-balance. If every transaction is done at $1.003 and $0.997, we can give the custodian 0.2% without fearing them taking any kind of advantage.

So that covers 1+4.
3 is still up in the air, but it’s looking like this is just a person willing to escrow trades for Nu at 0.3% offset. Maybe they have a minimum limit, like 100 NBT?
2 is the weekly allowance re-balance with NSR collateral. Clearly, this is a weak point in the system, but the statement is that these are trusted community members voted in, so it’s not much worse than electing pool operators. Perhaps pool operators should be putting up NSR collateral. Perhaps T3 custodians don’t need to put up any collateral.

It appears we would need two separate scripts, one for the custodian and one for the auditor. Features the software would need:

  1. Custodian: ability to simply record BTC price over time using API. T3 custodians will act as auditors of each other by independently storing the BTC price.

  2. Custodian: being fed a valid custodial address and the BTC and NBT reserve addresses, it will broadcast T3 data equal to the balance in those two addresses.

  3. Audit: can be fed a price history a simple text log of transactions including manually entered price, volume, and time that the price was chosen. The software will tell in an easily read format if there were any transactions missing or extra, then will provide the tolerance on price (in %) required for the custodian to pass audit.

Making this a part of NuBot would run into compatibility issues I feel. A fresh script would be nice, but perhaps we can just copy and paste stuff like the price feeds. But I dunno, maybe running nubot in T3 mode is totally practical. I still have yet to actually use Nubot, so I don’t know.

I have no clue about the inner workings of NuBot, I only use it for some purposes (modPuddle, Poloniex gateways).
@desrever might be able to answer the question for the capability of being a T3 tool as well.
With my limited knowledge I can imagine that it’s possible without to much effort.

re 1) NuBot already records price in the logs. It should be fairly simple to get a log that only contains time stamps and BTC exchange rates based on different sources.

re 2) that’s what NuBot is currently made for - albeit only for T1 and (if enabled) T2 at the moment. Should be possible to extend that to T3 reports/broadcasts.

re 3) if the liquidity that gets broadcast by NuBot is recorded, that’s pretty much all that’s required for audit. Broadcasting BTC or NBT liquidity of the registered addresses on T3 requires API access to block explorers that can be queried for the UTXO of certain addresses. If somebody doubts the validity of the NuBot reports, the UTXOs can be read from the blockchains directly and aligned with the data NuBot reported. Would be convenient to have the block height reported in the NuBot log.

I’m speaking of adjustments of NuBot although I don’t know whether it’s possible to do that with the current design of NuBot or how much effort it would be. I’m just trying to project the current features of NuBot into a future version that’s capable of doing T3 stuff.

I think it’s useful if T3 custodians are able to put orders on T1 even if they normally have all funds on T3. It’s way faster if they can just send the T3 funds to their exchange deposit address than to arrange a deal with somebody - their NuBot is already running (because of broadcasting the T3 liquidity information)!
You can run a single NuBot only on one exchange. So a T3 custodian would not necessarily active be on the exchange in need of T1 funds. But if there are T3 custodians for the most important exchanges that shouldn’t be much of a problem.

I think improving NuBot to support T3 custodians means using well-tested software and add features to it. And it saves the Nu landscape from creating a completely new software, that needs to be tested, maintained and that introduces additional complexity to the environment.

Just my thoughts…

1 Like

T3 management have been looong planned. In particular, T3<---->T2 movements should be automated to guarantee a proper fund management. NuBot can interact with multiple crypto-wallets via RPC (not with blockexplorer), and an interface is underway, but not planned for the near future.

0.7.1 - Tier3 liquidity management

What we planned when designing this roadmap, is slightly different to what you guys seem to have in mind. NuBot 0.7.1 will be for liquidity providers that want to optimize their strategy and minimize their risk by keeping on exchange the minimum amount of funds needed, yet being able to quickly and automatically refill and withdraw to keep walls as balanced as possible.

It won’t be too hard to create a multisig pool as some kind of Tier 3 ALP before B&C exchange goes live (which I guess could take more than 6 months from now)

It will hold funds either taken from tier 4 or paid for by interest like Tier 1 ALPs, then allow people to deposit NBT to get BTC and vice versa, at slightly higher spreads than from the exchanges. Then we can register Tier 4 addresses to “buy” NBT or BTC at better prices in order to balance the liquidity in Tier 3.

I can help to implement it; it won’t be wasted or completely replaced when B&C comes out.

1 Like

The nubot development on the roadmap is all well and good, but it does not really help T4 get to market. What we are discussing here is more powerful than that.

Why a larger spread for T3? This is actually a very critical point. With no exchange fees or default risk, the spread should be lower. The idea being that T1 custodians can buy nbt for something like $1.003 from T3 and sell on T1 for something like $1.007.

If we are still operating under a concept of credit and T4 refills, a T3 custodian will only be rewarded for nbt bought or sold, not for just holding funds. In this way, it is unlike an ALP.

1 Like

ALP granting interest is just the status quo. If that can be made unnecessary then all the better. I also don’t think it is difficult to go back to giving out interests, if such insurance is required for pool operators.

Spreads should be within what Nu can stomach, but at least comparable to tier 1 spreads so to capture the natural response to high BTC or NBT demand. It should be automatic so we can easily advertise and operate the service and ensure people will go for it. The trades have to be low frequency; either make sure there are obstacles (such as spreads / fees) or only activate the service based on need. We can register some providers so they can get discounted rates. So on so forth.

Why? These are basically escrow agents for Nu. They put up their own restrictions, most likely something like a $500 minimum or whatever. They don’t have to make a deal if they don’t want to, they get paid by the transaction volume like an exchange. 0.2% trading fee is plenty, and a $1.003 sell price is very much reflecting on our T1 spread because it only gives 0.2% profit to the T1 custodian buying from a T3 custodian (only 0.5% offset-after-fee from the spread regulation motion)

Tier 3 ALP is a great idea to explore –
BCex could be a game changer though for all Nu liquidity operations, but 6 months is a long time ahead.

Given current incentive systems we have for Tier 1, if Tier 3 can be provided as a reliable service then it may not be necessary to give discount; liquidity providers have strong incentives to balance their exposure to BTC, which we can encourage through education.

There will also be people who are willing to buy at higher spreads when there’s insufficient support at exchanges.

If we can make cuts from each trade like exchanges do it would be nice to see that a Tier 3 pool operates at a profit after deducting liquidity expenses. In that case, Nu can tax Tier 3 for Tier 4 providing them liquidity.

@henry, what do you think about operating an off-exchange platform for people to trade directly with tier 3; any legal issues or else that one might face?

It is a great way to provide liquidity support for Nubits. Actually we have been thinking about it for a while.

1 Like

can we set T3 on bter with cny pair?

T3 is by definition off exchange. This thread is about having a custodian who is able to buy and sell nbt at a small spread (0.3%) off-exchange, acting as a private escrow for Nu.

how NU act as a escrow?

An escrow is a third party to a transaction that must be trusted by both parties in the trade. In this case, one party is Nu (T4 multisig signers) and the person buying or selling nbt (could be a T1 custodian, or just a customer). The T3 custodian is acting as escrow because one party is slow to act (Nu multisig) and the other isn’t trusted by the network (the customer).