Skip to content
DeVOLTDocs

Custody

DeVOLT never holds your funds. Where your position lives depends on the venue, and the difference matters when you want to leave.

Nothing here takes custody. Every transaction is signed by you, and the protocol cannot move funds on your behalf. What varies by venue is where the resulting position sits.

Where a position lives

Some venues let a position be opened directly on your own wallet address. Your collateral and debt sit on your account at the venue, visible in that venue's own app, and you can manage or close the position there without DeVOLT existing.

Others have no on-behalf interface for the operations a leveraged open needs, so the position is opened inside a per-user proxy contract that only you control. Functionally the same claim on the same assets, but it lives at an address the venue's own front end does not show, and closing it goes through DeVOLT.

On your own address
where the venue has an interface for acting on your behalf
your collateralyour debt
The venue’s own app shows the position, because it is on your account there.
You can manage it or close it at the venue, with or without DeVOLT.
In a contract created for you
where the venue has no such interface for what a leveraged open needs
your collateralyour debt
The venue’s own front end does not list it, because it sits at an address that is not yours.
Closing it goes through DeVOLT, and the controller of that contract is fixed when it is created.
The same claim on the same assets, at a different address. Which arrangement a market uses is a property of the venue rather than a choice you make, and the market page says which one you would be opening into.

The one that cost real money

A close routine once withdrew a user's entire balance of the collateral asset from the venue, including deposits that had nothing to do with the DeVOLT position: their whole holding, down to zero. It was invisible for as long as it existed because every test opened on a fresh account with no pre-existing balance, so there was never anything extra to take.

It is fixed, and the lesson is written into how on-behalf adapters are tested: with a user who already holds a position at the venue, because that is the only state in which the bug appears.