Connection check
verified live · 27h ago
hogswap-mcp
Pay any Algorand x402 invoice with any asset, plus DEX swap quotes and unsigned builds.
Tools
12
GitHub stars
—
Installs / wk
144
Licence
—
Transport
streamable-http, stdio
Last checked
27h ago
Tools & capabilities
12 toolsRead from the running server on 27h ago.
build_swap
api_keyquote_id*user_address*
Unsigned transaction group for a get_quote quote_id. Sign every txn with your own wallet and submit as one group. NEVER pass mnemonics or private keys to any tool — signing happens… Unsigned transaction group for a get_quote quote_id. Sign every txn with your own wallet and submit as one group. NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.
delete_watch
api_keyclient_key*
Delete one of your watches by its client_key. Delete one of your watches by its client_key.
get_balance
api_key
Current HOGSWAP credit balance for your API key. Current HOGSWAP credit balance for your API key.
get_credit_offer
api_keyusdc_micro*
Create a credit top-up and get the x402 offer (HTTP 402 IS the payment instruction, not an error). Feed accepts[0] straight into pay_x402_invoice (keep the note nonce) to pay with… Create a credit top-up and get the x402 offer (HTTP 402 IS the payment instruction, not an error). Feed accepts[0] straight into pay_x402_invoice (keep the note nonce) to pay with any asset. Credits land ~1 block after payment.
get_quote
amountsenderapi_keyasset_in*max_legsasset_out*
+1
HOGSWAP swap quote across every Algorand DEX. Give amount (exact input) OR amount_out (exact output — minimum input is solved). Base units (µ); asset 0 = ALGO. Returns expected_out… HOGSWAP swap quote across every Algorand DEX. Give amount (exact input) OR amount_out (exact output — minimum input is solved). Base units (µ); asset 0 = ALGO. Returns expected_out, route legs, and a quote_id for build_swap. expected_out is NET of the 5 bps routing fee; passing sender also returns router_fee_* fields and the wallet's HOG discount (hog_discount_pct, 100 = fully waived at 100 HOG). Optional sender enables HOG-holding fee discounts. Optional max_legs (1-16) caps TOTAL route legs, splits included — slightly worse price at size, 404 if nothing fits; forward (amount) quotes only.
list_payable_assets
Assets accepted as payment inputs for pay_x402_invoice and credit top-ups (price-confidence gated; ALGO and USDC always included). Assets accepted as payment inputs for pay_x402_invoice and credit top-ups (price-confidence gated; ALGO and USDC always included).
list_watches
api_key
List your key's active watches (spec + arming/fired state), quota, and latest event seq. Poll this from MCP to see fires; SSE at GET /watches/stream is the push alternative outside… List your key's active watches (spec + arming/fired state), quota, and latest event seq. Poll this from MCP to see fires; SSE at GET /watches/stream is the push alternative outside MCP.
pay_x402_invoice
inputs*api_keyinvoice*user_address*
Pay ANY Algorand-settled x402 invoice with any 1-4 routable assets you hold, even holding none of the demanded asset. Pass the `accepts` entry you picked as `invoice` (keep its not… Pay ANY Algorand-settled x402 invoice with any 1-4 routable assets you hold, even holding none of the demanded asset. Pass the `accepts` entry you picked as `invoice` (keep its note!) plus your inputs (single input with no amount = minimum solved). Returns UNSIGNED groups — sign all in one pass, submit IN ORDER (swap first; its on-chain floor guarantees the payment is funded; holding the asset already = one direct payment). HOGSWAP credit top-up offers feed this verbatim. EVM invoices unsupported (no bridge). NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.
register_agent
address*
Self-service HOGSWAP API key, step 1 of 2 — zero human. Returns a challenge; sign its exact bytes with the address's key in YOUR wallet tooling, then call verify_registration. NEVE… Self-service HOGSWAP API key, step 1 of 2 — zero human. Returns a challenge; sign its exact bytes with the address's key in YOUR wallet tooling, then call verify_registration. NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.
set_watch
opkind*ttl_sapi_keymin_outasset_id
+8
Register a standing server-side watch (FREE, needs a key; idempotent upsert by client_key — re-registering replaces the watch and resets arming). kind='price': advisory µUSD thresh… Register a standing server-side watch (FREE, needs a key; idempotent upsert by client_key — re-registering replaces the watch and resets arming). kind='price': advisory µUSD threshold (asset_id, op gte/lte, threshold_usd_micro). kind='target': size-aware surrogate — would swapping amount_in of asset_in→asset_out deliver ≥ min_out? (margin_bps haircut, default 30; NO quote is run). Edge-triggered one-shot; re-arms after rearm_bps retreat + cooldown_s; ttl_s auto-expiry (default 86400) — refresh by re-upserting. Fires are numbers-only HINTS: re-quote with get_quote. Events push over SSE at GET /watches/stream (outside MCP); from MCP, poll list_watches.
value_lp_token
amountasset_id*
Value a liquidity-provider position. Give the LP token's asset id (free, no key) and optionally `amount` in LP BASE units — what the wallet holds — for its USD value and the redeem… Value a liquidity-provider position. Give the LP token's asset id (free, no key) and optionally `amount` in LP BASE units — what the wallet holds — for its USD value and the redeemable amount of each underlying. Also identifies the issuing pool/DEX (and STAMM tier). Per-unit figures are per WHOLE LP token. Values are a proportional-share redemption at analytics prices: no slippage, no exit fee, NOT a market quote — fields are null rather than guessed when supply or a price is missing, so check before reporting a number.
verify_registration
address*challenge*signature_b64*