A typical safekeeping cycle includes three phases: deposit, transfer, and withdrawal.
When a client deposits digital asset into D3Ledger for safekeeping, the digital asset tokens are moved to a "depo" address, which is controlled by multi-signature of the D3Ledger partners. Then the tokens "freeze" untill the withdrawal.
To track the transfer of ownership rights, the partners create the internal tokens in the D3 internal ledger. Internal tokens correspond to "frozen" tokens one-to-one. These internal tokens work as depository receipts. They give the owner the right to withdraw the corresponding amount of the digital asset tokens out of D3Ledger.
Once internal tokens are created, they can be easily transferred to other clients in D3Ledger. No transactions in the originating digital asset blockchain are required.
A current owner of internal tokens can transfer the corresponding amount of the digital asset tokens out of D3Ledger. To achieve that the owner creates a withdrawal order in D3Ledger. Then the owner signs the order and has it signed by the agent.
When the validators have verified the withdrawal order, they create a transaction and sign it using multi-signature. The digital asset tokens are then transferred from "depo" address to the address specified by the client. The internal tokens are destroyed.