<p>USDT is <strong>also</strong> an ERC20 contract in Ethereum mainnet. You need to use one of Ethereum Wallet accepting RPC calls (Geth, Parity, etc.). Then find contract address (check Etherscan). Then install contract to your wallet and manage your transaction.</p>

CC BY-SA 4.0
2018-06-03T23:03:18.637Z
I saw that it was on Omni layers on their website though .
Ryu Nishida
CC BY-SA 4.0
2018-06-04T01:43:10.930Z
Tether is also on the omni layer (it was originally only here, ERC20 is a new addition): https://www.omniexplorer.info/address/3MbYQMMmSkC3AgWkj9FMo5LsPTW1zBTwXL
Raghav Sood
CC BY-SA 4.0
2018-06-04T10:29:23.380Z
Ohh.. My bad. Ignore my answer then.
Kerem atam
CC BY-SA 4.0
2018-06-03T18:57:41.323Z
2018-06-04T10:30:01.550Z
2018-06-04T10:30:01.550Z
Kerem atam
<p>So for Omni layer token you do this <code>omni_send</code>
<a href="https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md#omni_send" rel="nofollow noreferrer">https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md#omni_send</a>
This is what you need (at least on Kraken and Bittrex USDT is Omnilayer token). To send Omnilayer transaction you need to have some BTC on the same address for transaction fee. And you also need to know USDT <code>propertyId</code> which is 31 (<a href="https://omniexplorer.info/asset/31" rel="nofollow noreferrer">https://omniexplorer.info/asset/31</a>)</p>

<p>Just in case:</p>

<p>For ETH token you do <code>eth_sendTransaction</code>(different methods are possible like <code>eth_sendRawTransaction</code>) <a href="https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction" rel="nofollow noreferrer">https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction</a>. You need to know contract address of the token and it is your parameter <code>to</code>, <code>from</code> is normal address from here is the funny part - token transaction is defined in data. Lets take an example <a href="https://etherscan.io/tx/0x6fcf7dc3f6bc2b7e8a9e6b13689d042e659b2d016a3bdf7beffd033ab9b6db1e" rel="nofollow noreferrer">https://etherscan.io/tx/0x6fcf7dc3f6bc2b7e8a9e6b13689d042e659b2d016a3bdf7beffd033ab9b6db1e</a>
this is 2.55 BNB(contract address 0xB8c77482e45F1F44dE1745F52C74426C631bDD52,  parameter <code>to</code>) token transfer(method name encoded in <code>data</code> as first 10 digits 0xa9059cbb) from 0x0861d1b074eb2489dd7878a5d6d869db5896a5f0 (parameter <code>from</code>) to 0x4283f315788b09a357ca83b8134cd48bde8b556f (middle part of <code>data</code> with some padding 0000000000000000000000004283f315788b09a357ca83b8134cd48bde8b556f). Last part of <code>data</code> is token amount in wei. BNB has 18 decimal places and the best way to explain that IMHO is this python assertion:
<code>
assert int('0x00000000000000000000000000000000000000000000000023803234a2f38c00', 16) * 1e-18 == 2.55809979
</code>  </p>

CC BY-SA 4.0
2018-06-13T17:32:37.570Z
2018-06-13T17:32:37.570Z
The Hog
<p>I looked for the information but I couldn't find that. It seemed to be done as I always do for Bitcoin though.</p>

<p>Any idea?</p>

<omni><tether>
How can I transfer tether(USDT) using omni JSON RPC API?
Ryu Nishida
# How can I transfer tether(USDT) using omni JSON RPC API?

(Asked by: username_0 on 2018-06-03)

I looked for the information but I couldn't find that. It seemed to be done as I always do for Bitcoin though.

Any idea?

**Tags:** omni, tether


---

## 2 answers

### Answer by username_3 on 2018-06-13. Score: 4 | Accepted answer

So for Omni layer token you do this `omni_send`
<https://github.com/OmniLayer/omnicore/blob/master/src/omnicore/doc/rpc-api.md#omni_send>
This is what you need (at least on Kraken and Bittrex USDT is Omnilayer token). To send Omnilayer transaction you need to have some BTC on the same address for transaction fee. And you also need to know USDT `propertyId` which is 31 (<https://omniexplorer.info/asset/31>)

Just in case:

For ETH token you do `eth_sendTransaction`(different methods are possible like `eth_sendRawTransaction`) <https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction>. You need to know contract address of the token and it is your parameter `to`, `from` is normal address from here is the funny part - token transaction is defined in data. Lets take an example <https://etherscan.io/tx/0x6fcf7dc3f6bc2b7e8a9e6b13689d042e659b2d016a3bdf7beffd033ab9b6db1e>
this is 2.55 BNB(contract address 0xB8c77482e45F1F44dE1745F52C74426C631bDD52, parameter `to`) token transfer(method name encoded in `data` as first 10 digits 0xa9059cbb) from 0x0861d1b074eb2489dd7878a5d6d869db5896a5f0 (parameter `from`) to 0x4283f315788b09a357ca83b8134cd48bde8b556f (middle part of `data` with some padding 0000000000000000000000004283f315788b09a357ca83b8134cd48bde8b556f). Last part of `data` is token amount in wei. BNB has 18 decimal places and the best way to explain that IMHO is this python assertion:
`assert int('0x00000000000000000000000000000000000000000000000023803234a2f38c00', 16) * 1e-18 == 2.55809979`


---

### Answer by username_1 on 2018-06-03. Score: 1

USDT is **also** an ERC20 contract in Ethereum mainnet. You need to use one of Ethereum Wallet accepting RPC calls (Geth, Parity, etc.). Then find contract address (check Etherscan). Then install contract to your wallet and manage your transaction.

> **Comments:**
> **username_0**: I saw that it was on Omni layers on their website though .  
> **username_2**: Tether is also on the omni layer (it was originally only here, ERC20 is a new addition): https://www.omniexplorer.info/address/3MbYQMMmSkC3AgWkj9FMo5LsPTW1zBTwXL  
> **username_1**: Ohh.. My bad. Ignore my answer then.  

---

