docs: def get_unspents(address, blockchain_client=ChainComClient()):
      """ Get the spendable transaction outputs, also known as UTXOs or
          unspent transaction outputs.
      """
      if not isinstance(blockchain_client, ChainComClient):
          raise Exception('A ChainComClient object is required')
  
      url = CHAIN_API_BASE_URL + '/bitcoin/addresses/' + address + '/unspents'
  
      auth = blockchain_client.auth
      if auth:
          r = requests.get(url, auth=auth)
      else:
          r = requests.get(url + '?api-key-id=DEMO-4a5e1e4')
  
      try:
          unspents = r.json()
      except ValueError, e:
          raise Exception('Received non-JSON response from chain.com.')
      
      return format_unspents(unspents)