Skip to content

Instantly share code, notes, and snippets.

@algolog
algolog / withdraw_algofi_v1_ALGO.py
Created June 19, 2025 18:00
Withdraw algo collateral from algofi v1 lending protocol
from algosdk import mnemonic, account
from algosdk.v2client.algod import AlgodClient
from algosdk.v2client.indexer import IndexerClient
from algofi.v1.client import AlgofiMainnetClient
USER_ADDRESS = "ST7KA2KB76LN3P6ZSJMV2K4D55BTEWP2GZACJCJIQV7FV7NZ2CQLXUQDYE"
SIGNING_MNEMONIC="bounce genre fabric rude mention once silent daring burger wool armed hundred twelve traffic oblige assist piano bless dignity trade useless shallow spatial abstract layer"
key = mnemonic.to_private_key(SIGNING_MNEMONIC)
sender = USER_ADDRESS
from dotenv import dotenv_values
from algosdk import mnemonic, account
from algosdk.v2client.algod import AlgodClient
from algosdk.v2client.indexer import IndexerClient
from algofipy.algofi_client import AlgofiClient
from algofipy.globals import Network
from algofipy.transaction_utils import TransactionGroup
# load user account
@algolog
algolog / deflex_fetch_limit_orders.py
Created January 13, 2023 19:47
Lists limit orders on Deflex DEX
import time
from datetime import datetime, timedelta
from dataclasses import dataclass
from base64 import b64decode
from pprint import pprint
from algosdk.v2client.algod import AlgodClient
from algosdk.v2client.indexer import IndexerClient
from algosdk.encoding import encode_address
from algofipy.state_utils import format_state
@algolog
algolog / tinyman_v2_swap.py
Last active July 1, 2024 22:13
Swap assets on Tinyman v2 DEX from command line
#!/usr/bin/env python3
from dotenv import dotenv_values
from algosdk import mnemonic, account
from algosdk.v2client import algod
from tinyman.v2.client import TinymanV2MainnetClient
from pprint import pprint
from urllib.parse import quote_plus
# Load user address
env_vars = dotenv_values(".env")
@algolog
algolog / list_humble_pools.py
Created January 7, 2023 21:46
List Humble.sh DEX pools from on-chain logs
from itertools import chain
from base64 import b64decode
from algosdk.v2client.indexer import IndexerClient
from algosdk.encoding import checksum
# List of Humble.sh DEX pools from on-chain logs.
# Translated to Python from https://gist.github.com/DanBurton/d11a6c8a99b33f28ea7fc83a82ccaef8
# Pool ABI docs: https://reach-sh.github.io/humble-sdk/LP-ABI.html
indexer = IndexerClient("", "https://mainnet-idx.algonode.cloud")
@algolog
algolog / humble_pool_quote.py
Last active January 7, 2023 23:01
Python interface to HumbleSwap pool state
#!/usr/bin/env python3
import sys
import struct
from base64 import b64decode
from algosdk.v2client.algod import AlgodClient
from tinyman.assets import Asset, AssetAmount
class HumblePool:
"""Liquidity pool in the HumbleSwap AMM DEX."""
def __init__(self, client: AlgodClient, app_id: int, N2NN: bool) -> None: