# Ripple IBC protocol

## Deposit

Send a XRP to our multi-sig wallet

Send Transaction Required&#x20;

* memo field&#x20;

```
memos = [{
    data : <to_addr>,
    type : 'toAddr'
    },
    {
    data : <extra_addr>,
    type : 'extraToAddr'
    }]
```

* Transaction Type&#x20;

```
Payment
```

## Withdrawal

Send a withdrawal transaction to Orbit BalanceContract

```javascript
function withdrawBySignature(bytes32[] memory bytes32s, uint[] memory uints, address fromAddr, bytes memory destination, bytes memory comment, uint8 v) public
function withdraw(bytes32 tokenId, bytes memory destination, uint amount, bytes memory comment) public
```

Then, Xrp IBC operator and validator begin to proceed this withdrawal
