Command line interface

uniswap-python provides a basic command line interface named unipy, to let you easier query the chain for things like the current price and token metadata.

Example usage

Note: uniswap-python contains a small database of token contract addresses for convenience. You can always provide a contract address in place of a shorthand, and need to do so for all tokens not in the bundled database, or if you’re not on mainnet.

# Get price for 1 WETH quoted in DAI
$ unipy price WETH DAI
3350.883387688622

# Get price for 1 WETH quoted in DAI, skip decimal normalization
$ unipy price --raw WETH DAI
3350883387688622003541

# Get price for 1 WETH quoted in USDT
$ unipy price WETH 0xdac17f958d2ee523a2206206994597c13d831ec7
3348.128969

# Get token metadata from its ERC20 contract
$ unipy token 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
{'name': 'Wrapped Ether', 'symbol': 'WETH', 'decimals': 18}

# List known/hardcoded tokens, with metadata
$ unipy tokendb --metadata
{'name': 'Wrapped Ether', 'symbol': 'WETH', 'decimals': 18}
{'name': 'Dai Stablecoin', 'symbol': 'DAI', 'decimals': 18}
{'name': 'Wrapped BTC', 'symbol': 'WBTC', 'decimals': 8}
...

Usage

unipy

unipy [OPTIONS] COMMAND [ARGS]...

Options

-v, --verbose
--version <version>
Options

1 | 2 | 3

price

Returns the price of quantity tokens of token_in quoted in token_out.

unipy price [OPTIONS] TOKEN_IN TOKEN_OUT

Options

--raw

Don’t normalize the quoted price to the output token’s decimals

--quantity <quantity>

Quantity of output tokens to get price of. Falls back to one full unit of the input token by default (10**18 for WETH, for example).

Arguments

TOKEN_IN

Required argument

TOKEN_OUT

Required argument

token

Show metadata for token

unipy token [OPTIONS] TOKEN

Arguments

TOKEN

Required argument

tokendb

List known token addresses

unipy tokendb [OPTIONS]

Options

--metadata

Also get metadata for tokens