# Methods

Examples assume:

```python
from tribulnation.sdk import EarnSDK

earn = EarnSDK.load('sdk.toml')
```
### `instruments`

```python
instruments(*, tags=None, assets=None) -> Sequence[Instrument]
```

Fetch the venue's yield-bearing instruments.

Filters match any of the given tags or assets, not all. `apr` is a fraction of 1,
not a percentage: `0.01` is 1%.

**Args**

- `tags`: Keep instruments carrying at least one of these tags.
- `assets`: Keep instruments subscribed with one of these assets.

<div data-venue="binance" data-venue-name="Binance">

**Binance**

```python
sdk = earn.venue('binance')
async with sdk:
  instruments = await sdk.instruments()
print('binance', len(instruments), 'instruments')
```

```
binance 2 instruments
```

</div><!-- /venue -->

<div data-venue="bit2me" data-venue-name="Bit2Me">

**Bit2Me**

```python
sdk = earn.venue('bit2me')
async with sdk:
  instruments = await sdk.instruments()
print('bit2me', len(instruments), 'instruments')
```

```
bit2me 2 instruments
```

</div><!-- /venue -->

<div data-venue="bitget" data-venue-name="Bitget">

**Bitget**

```python
sdk = earn.venue('bitget')
async with sdk:
  instruments = await sdk.instruments()
print('bitget', len(instruments), 'instruments')
```

```
bitget 2 instruments
```

</div><!-- /venue -->

<div data-venue="bybit" data-venue-name="Bybit">

**Bybit**

```python
sdk = earn.venue('bybit')
async with sdk:
  instruments = await sdk.instruments()
print('bybit', len(instruments), 'instruments')
```

```
bybit 2 instruments
```

</div><!-- /venue -->

<div data-venue="coinbase" data-venue-name="Coinbase">

**Coinbase**

```python
sdk = earn.venue('coinbase')
async with sdk:
  instruments = await sdk.instruments()
print('coinbase', len(instruments), 'instruments')
```

```
coinbase 2 instruments
```

</div><!-- /venue -->

<div data-venue="deribit" data-venue-name="Deribit">

**Deribit**

Public trailing seven-day SMA APRs for discovered reward-bearing balances, not subscribable products.

```python
sdk = earn.venue('deribit')
async with sdk:
  instruments = await sdk.instruments()
print('deribit', len(instruments), 'instruments')
```

```
deribit 2 instruments
```

</div><!-- /venue -->

<div data-venue="kraken" data-venue-name="Kraken">

**Kraken**

Authenticated Earn strategies; published APR ranges are reduced to their midpoint.

```python
sdk = earn.venue('kraken')
async with sdk:
  instruments = await sdk.instruments()
print('kraken', len(instruments), 'instruments')
```

```
kraken 2 instruments
```

</div><!-- /venue -->

<div data-venue="kucoin" data-venue-name="KuCoin">

**KuCoin**

Savings, promotions, staking, KCS and ETH staking; structured dual investment is excluded.

```python
sdk = earn.venue('kucoin')
async with sdk:
  instruments = await sdk.instruments()
print('kucoin', len(instruments), 'instruments')
```

```
kucoin 2 instruments
```

</div><!-- /venue -->

<div data-venue="mexc" data-venue-name="MEXC">

**MEXC**

```python
sdk = earn.venue('mexc')
async with sdk:
  instruments = await sdk.instruments()
print('mexc', len(instruments), 'instruments')
```

```
mexc 2 instruments
```

</div><!-- /venue -->
