io.thegavel/gavel
REMOTE · MCP.THEGAVEL.IO · SCANNED SEP 25
Oracle-free fixed-rate, fixed-term BTC credit on Arbitrum One. Data and unsigned blueprints.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5141 tokens (~244/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "prepare_claim_refund_calldata" implies "refund" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.thegavel/gavel MCP server?
io.thegavel/gavel is a hosted endpoint at https://mcp.thegavel.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.thegavel.io
claude mcp add --transport http io-thegavel-gavel 'https://mcp.thegavel.io/mcp'
{
"mcpServers": {
"io-thegavel-gavel": {
"url": "https://mcp.thegavel.io/mcp"
}
}
} {
"servers": {
"io-thegavel-gavel": {
"type": "http",
"url": "https://mcp.thegavel.io/mcp"
}
}
} [mcp_servers.io-thegavel-gavel] url = "https://mcp.thegavel.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-thegavel-gavel": {
"type": "remote",
"url": "https://mcp.thegavel.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-thegavel-gavel --url 'https://mcp.thegavel.io/mcp' --transport streamable-http
mcp_servers:
io-thegavel-gavel:
url: "https://mcp.thegavel.io/mcp" {
"McpServers": {
"io-thegavel-gavel": {
"Transport": "http",
"Url": "https://mcp.thegavel.io/mcp"
}
}
} assistant mcp add io-thegavel-gavel -t streamable-http -u 'https://mcp.thegavel.io/mcp'
{
"mcpServers": {
"io-thegavel-gavel": {
"type": "http",
"url": "https://mcp.thegavel.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://mcp.thegavel.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.thegavel.io | CN=YE1,O=Let's Encrypt,C=US | 10 Sept 2026 | 9 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5eb9cd38f0c605a35d6efdd0e906e448861 |
| SANs: mcp.thegavel.io | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.thegavel.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| thegavel.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.thegavel.io/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.thegavel.io/mcp | HTTPS enforced | 301 | https://mcp.thegavel.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_wallet_status Check Wallet Readiness ~255
Returns a structured readiness report for the given wallet address: native ETH balance for gas, relevant ERC-20 balances (USDC, USDT, WBTC), current allowances against the Gavel LoanProtocol and ListingService, and a precomputed list of blockers (what's stopping the wallet from placing bids or creating auctions). Useful for: onboarding flows where an LLM agent needs to verify a user's wallet is funded and approved before walking them through a transaction. The 'readiness.blockers' field is the high-leverage answer to "what's next?" — the LLM can quote it directly without reasoning from raw balances. This tool reads the Arbitrum chain directly via RPC. It does not require any signed authorisation from the wallet owner — addresses and balances are public on-chain data. Returns: { address, network, native_gas, tokens, active_positions, readiness }.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | The EOA or smart-account address to inspect. Any valid Ethereum address. The wallet does not need to be the caller — anyone can check anyone's balance, this is public chain data. |
| network | string | – | Network to inspect. Default 'arbitrum-one' (mainnet, live protocol). |
No output schema declared.
No examples provided.
find_auctions_matching_criteria Find Auctions Matching Criteria ~396
Returns Gavel auctions filtered by the criteria you supply. Does not rank, score, or recommend a specific auction — only filters by the parameters provided. The user chooses what to act on. Useful for: an agent helping a user narrow a long auction list down to the subset matching their stated yield, duration, and LTV preferences. All filter parameters are optional. Unspecified parameters mean "no constraint on that dimension". When status is omitted, defaults to 'open' (actionable auctions only). Returns: { matches: Auction[], match_count, total_inspected, criteria_echoed }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum results to return. Caps at 100. |
| max_duration_days | integer | – | Maximum loan duration in days. Omit for no upper bound. |
| max_ltv | number | – | Maximum LTV. Omit for no upper bound. |
| max_rate_pct | number | – | Maximum implied APR in percent. Omit for no upper bound. |
| min_duration_days | integer | – | Minimum loan duration in days. Omit for no lower bound. |
| min_ltv | number | – | Minimum LTV (loan-to-value), as decimal 0.0-1.0. Omit for no lower bound. |
| min_rate_pct | number | – | Minimum implied APR in percent (e.g. 5.5 means at least 5.5%). Omit for no lower bound. |
| min_remaining_hours | number | – | Only return auctions with at least this many hours left before close. Useful for bidders who need time to act. Ignored when status != 'open'. |
| pair | string | – | Collateral/loan pair (e.g. 'WBTC/USDC'). Omit for any pair. |
| status | string | – | Auction lifecycle filter. 'open' = actionable (default), 'completed' = settled, 'all' = both. |
No output schema declared.
No examples provided.
get_address_history Address history on the protocol ~193
What has this address done on the protocol? Public chain events only, with no enrichment beyond them. Auctions originated, bids placed, positions open and closed, and a summary of outcomes. No clustering, no labelling and no inferred identity: nothing in the response is not already public on-chain. Any address may be queried by anyone; no authorisation is needed. This is the supervisor page's data source — the read a person uses to check what an agent they supervise has actually done.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | The address to inspect. Any valid Ethereum address; it need not be the caller. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet). Use 'arbitrum-sepolia' for the testnet deployment, which carries a far deeper book — but note the two run different contract builds, so a testnet observatio… |
No output schema declared.
No examples provided.
get_book The open book ~192
What is open right now — auctions, bids and positions listed? Current chain state, with counts rather than a characterisation of depth. Open auctions with their best bid and time remaining, those closing within 24 hours, and totals: open auction count, principal outstanding, collateral locked, and distinct lenders and borrowers over 30 days. ⚠ Fields that cannot be answered are null, not empty. positions_listed is null where marketplace listings are not indexed — an empty array would assert that nothing is listed.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Network. Default 'arbitrum-one' (mainnet). Use 'arbitrum-sepolia' for the testnet deployment, which carries a far deeper book — but note the two run different contract builds, so a testnet observatio… |
| pair | string | – | Restrict to one collateral/loan pair. Omit for all. |
No output schema declared.
No examples provided.
get_gavel_indicator Get a Gavel Indicator ~228
Returns the current value of a single Aletheia indicator by id, with its methodology reference. This server serves this protocol's own indicator set, including those anchored on its rate. Call list_gavel_indicators first to discover valid ids. Optionally returns the historical series instead of the current value (set include_history). History is free and unmetered on the same terms as the current value. This is descriptive data; no recommendation is provided. An indicator that has no reading on this network says so explicitly rather than returning a null or a zero that could be mistaken for a value.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | History start, ISO 8601 date. Only meaningful with include_history. |
| id | string | yes | Indicator id from list_gavel_indicators, e.g. 'yield-curve', 'vrb', 'lpi'. |
| include_history | boolean | – | If true, return the historical series instead of the current value. Not every indicator has one. |
| to | string | – | History end, ISO 8601 date. Only meaningful with include_history. |
No output schema declared.
No examples provided.
get_loan_status Gavel Loan Status ~183
Returns the current state of a single Gavel loan and what action, if any, is available to whom. Designed to be re-called during a long conversation so lifecycle changes can be surfaced to the user. 'next_actions' is an array of {actor, action, calldata_tool} tuples naming the tool that prepares each transaction, so the next step can be taken without guessing. 'lifecycle_summary' gives the borrower's and lender's view in plain English. This is descriptive data; no recommendation is provided. Verify on-chain before acting on a reported maturity or default. Returns: { loan_id, state, borrower, lender, principal, repayment, apr, matures_at, time_remaining_seconds, outcome, next_actions }.
| Name | Type | Req | Description |
|---|---|---|---|
| loan_id | integer | yes | The loan id. For v1 auctions this equals the auction id — see get_user_positions. |
No output schema declared.
No examples provided.
get_mvrv Moved — now served by the Bitcoin Credit Stack ~76
This tool has moved. Cross-venue credit data is served by the Bitcoin Credit Stack MCP at https://mcp.bitcoincreditstack.com/mcp, where this tool is called `get_mvrv`. Calling it here returns a structured 'moved' error naming the host. This shim is temporary and will be removed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_protocol_reference Gavel Protocol Reference ~250
Returns the Gavel Protocol's complete on-chain reference data for the requested network: contract addresses, supported tokens (collateral and loan), key function signatures, operational conventions (like the Position NFT tokenId formula), and Etherscan/ABI references. Use this tool when an agent needs to: - Look up a contract address before constructing a transaction - Get the function signature for placeBid, createAuction, repayLoan, etc. - Understand the tokenId convention for borrower vs lender position NFTs - Find an Etherscan link to verify a contract's source code - Confirm which loan tokens are whitelisted This is descriptive data; no recommendation is provided. The agent is responsible for constructing, signing, and broadcasting any transactions via the user's own wallet. Aletheia never holds keys or dispatches transactions. Returns: { network, chain_id, explorer, rpc_endpoints, status, contracts, tokens, key_functions, important_notes, abi_references }.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Network to look up. Default 'arbitrum-one' (mainnet, live protocol). Use 'arbitrum-sepolia' for the testnet deployment. |
No output schema declared.
No examples provided.
get_user_positions Gavel Positions for an Address ~240
Returns every Gavel position an address holds — as borrower, as winning lender, or as a bidder on an auction that has not closed. Each position carries its lifecycle state (auction_open, bid_placed, bid_lost, active, matured_unclaimed, repaid, defaulted), the maturity date and time remaining, the counterparty, and 'next_action_available' — the one thing this address can do next (nothing, repay, claim_collateral, claim_repayment, claim_refund). 'lifecycle_summary' is a plain-English sentence you can quote to the user directly. Reads public chain data via the Aletheia indexer; no signed authorisation is needed and anyone can query any address. The chain is authoritative — a transaction in the current block may not be indexed yet. Returns: { address, network, positions[], count, settled_hidden }.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | The address to inspect. Any valid Ethereum address; it need not be the caller. |
| include_settled | boolean | – | Include finished positions (repaid, defaulted, lost bids). Default false — only what is still live. |
No output schema declared.
No examples provided.
get_verification_bundle Verification bundle ~232
What can be checked about the contracts, and what did the last check return? Observations with their block heights; the verdict is the reader's. Contract addresses and their implementations, the bytecode hash of each, the upgradeability position, the privileged-function map with whether each can touch user funds, the audit reference, and five structural promises — each with the check that would falsify it and what that check returned. ⚠ Read the fields, not the impression. 'match' is "unchecked" where Aletheia has not compared deployed bytecode against verified source; a promise that did not settle says so; and mainnet and testnet return different answers because they run different builds. There is no safety score, rating or verified badge in this payload, and none will be added.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | – | Network. Default 'arbitrum-one' (mainnet). Use 'arbitrum-sepolia' for the testnet deployment, which carries a far deeper book — but note the two run different contract builds, so a testnet observatio… |
No output schema declared.
No examples provided.
get_yield_curve Gavel Yield Curve ~395
Returns the current fitted Gavel yield curve for the requested collateral/loan pair. Rates are oracle-free, derived from auctions in The Gavel Protocol. The curve is a log-quadratic fit through binned midpoints. IMPORTANT — every rate returned is an evaluation of the fitted curve, not an observed trade, and the published tenor set extends past the deepest observation. Tenors with no underlying bin data are returned as fitted values and listed in 'extrapolated_tenors'; treat those as model output only. Read 'provenance' before using the curve as a market reference: it carries the observation count, the number of distinct counterparties, the external share, and a disclosure stating whether this is yet an independent market assessment. Check fit.r_squared and fit.fitted_to — R-squared is measured against bin means, not raw scatter, so at low observation counts it reflects smoothness rather than goodness of fit. Useful for: comparing fixed-term BTC-collateralised borrow rates across maturities, deriving the term premium, sourcing the Gavel layer of the Bitcoin Credit Stack. This tool returns data; it does not advise. Returns: { pair, computed_at, status, rates, extrapolated_tenors, fit_observation_count, provenance, fit: {r_squared, rmse, model, fitted_to} }. Note 'fit_observation_count' counts only the loans the fit was computed over (binning is active-loans-only, so settled loans are excluded), whereas 'provenance.observation_count' counts the full scatter — they legitimately differ. Optional 'include_points' returns the raw scatter backing the fit.
| Name | Type | Req | Description |
|---|---|---|---|
| include_points | boolean | – | If true, include the underlying scatter points used to fit the curve. Larger response. |
| pair | string | – | Collateral/loan pair. Default 'WBTC/USDC'. Currently the only live pair on mainnet. |
No output schema declared.
No examples provided.
list_comparables Comparable settled auctions ~319
Which recent auctions resemble these parameters, and how did each clear? Returns the individual observations so the caller can reason from them directly. Nearest-k settled auctions by normalised distance on loan amount, LTV and tenor. Every row carries its clearing APR, bid count, and whether its originator was Aletheia's own account. Below MIN_COMPARABLES the rows are still returned, with the threshold and the observed count named — no aggregate is computed over them. ⚠ The own-account flag is null, not false, wherever it cannot be computed. Read provenance.own_account_attribution before treating a null as a "no".
| Name | Type | Req | Description |
|---|---|---|---|
| k | integer | – | How many comparables to return. Caps at 25; default 10. |
| loan_amount | number | – | Loan size to match against, in loan-token units. |
| ltv | number | – | Loan-to-value at origination, as a decimal 0–1. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet). Use 'arbitrum-sepolia' for the testnet deployment, which carries a far deeper book — but note the two run different contract builds, so a testnet observatio… |
| pair | string | – | Collateral/loan pair. Default 'WBTC/USDC'. |
| tenor_days | number | – | Loan term in days. The protocol's minimum is 7. |
| window_days | integer | – | Only consider auctions settled within this many days. |
No output schema declared.
No examples provided.
list_fiat_onramps Fiat Onramp Catalog ~338
Returns a catalog of fiat-to-USDC onramps that deliver native USDC on the requested chain. Does not rank or endorse a specific provider — entries are listed alphabetically so the response is deterministic. The user chooses which onramp to use. Filter by country (ISO 3166 alpha-2) and amount to narrow the catalog to providers that operate in the user's jurisdiction and accept their transaction size. Useful for: an LLM agent helping a novice user fund their wallet from fiat USD/EUR/GBP. The LLM presents the catalog to the user; the user picks one and proceeds. IMPORTANT — a cold-start user needs TWO purchases, not one. None of these providers delivers gas ETH alongside the USDC. A wallet holding only USDC cannot transact at all, and the failure is opaque (the transaction simply will not send). Surface the gas purchase to the user at the same time as the USDC purchase — see 'gas_requirement' in the response. Returns: { providers: OnrampProvider[], gas_requirement, filter_echo, notes }.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_usd | number | – | Amount in USD the user plans to onramp. Filters out providers whose limits don't cover this amount. Omit to ignore amount limits. |
| chain | string | – | Target chain. Currently only 'arbitrum-one' supported — all listed providers deliver native USDC on Arbitrum One. |
| country | string | – | ISO 3166 alpha-2 country code (e.g. 'US', 'GB', 'FR'). Filters to providers supporting that country. Omit to return all providers. |
No output schema declared.
No examples provided.
list_gavel_indicators Gavel Indicator Catalogue ~174
Returns the catalogue of Aletheia indicators computed from The Gavel Protocol and the Bitcoin chain: id, name, family, units, description, and whether the indicator is currently live on this network. Three families: 'credit' (credit-market assessments), 'onchain' (commodity chain metrics such as MVRV and SOPR), and 'market' (external context — DeFi rates, stablecoin supply, macro). Use this to discover what is available, then call get_gavel_indicator with an id. This tool returns a catalogue; it does not rank indicators or advise which to use.
| Name | Type | Req | Description |
|---|---|---|---|
| family | string | – | Restrict to one family. Omit to return the whole catalogue. |
| live_only | boolean | – | If true, omit indicators that are not currently live on this network. |
No output schema declared.
No examples provided.
list_onchain_indicators Moved — now served by the Bitcoin Credit Stack ~78
This tool has moved. Cross-venue credit data is served by the Bitcoin Credit Stack MCP at https://mcp.bitcoincreditstack.com/mcp, where this tool is called `list_onchain_indicators`. Calling it here returns a structured 'moved' error naming the host. This shim is temporary and will be removed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_wallet_options Compatible Wallet Catalog ~170
Returns a catalog of self-custody wallet apps compatible with Gavel (i.e., that support Arbitrum One). Does not rank wallets by quality. Each entry has a 'suitability_tags' list describing the typical user fit as factual attributes ('beginner', 'mobile_first', 'hardware', 'multisig', etc.) — the LLM and user pick based on those. Useful for: an LLM agent helping a user without an existing wallet choose one before onramping funds. The LLM should explain the custody-model and platform implications relevant to the user's situation, then let the user pick. Returns: { wallets: WalletOption[], filter_echo, notes }.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | string | – | Filter wallets to those available on the specified platform. Omit to return all. |
No output schema declared.
No examples provided.
prepare_bid_calldata Prepare a Gavel Bid ~266
Builds an unsigned transaction blueprint for placing a bid on a Gavel auction, including the prerequisite ERC-20 approval when the current allowance is short. You supply the auction and the repayment amount you are willing to accept; this tool validates them against live auction state and encodes the call. It does not choose an auction, a rate or a size for you — use find_auctions_matching_criteria to filter by your own criteria first. Bidding on Gavel is a reverse auction: a LOWER repayment is a more competitive bid and a lower yield to you as lender. Each bid must undercut the current best by at least the auction's bid step. Returns an unsigned transaction blueprint for the requested intent. The user is responsible for reviewing, signing, and broadcasting via their own wallet. Aletheia does not hold keys or dispatch transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| auction_id | integer | yes | The auction to bid on. |
| lender_address | string | yes | Your address — used to read your balance and current allowance. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet, real funds). |
| repayment_amount | string | yes | The total repayment you are bidding, as a decimal string in loan-token units, e.g. '5320.00'. |
No output schema declared.
No examples provided.
prepare_claim_collateral_calldata Prepare a Collateral Claim ~168
Builds an unsigned transaction blueprint for a lender to claim the collateral on a defaulted Gavel loan. Validates that you are the lender and that the loan has passed maturity without repayment. Chain state is authoritative — a repayment in the current block may not be indexed yet, so this tool warns rather than asserts when the margin is thin. Returns an unsigned transaction blueprint for the requested intent. The user is responsible for reviewing, signing, and broadcasting via their own wallet. Aletheia does not hold keys or dispatch transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| lender_address | string | yes | Your address — must match the loan's lender. |
| loan_id | integer | yes | The defaulted loan. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet, real funds). |
No output schema declared.
No examples provided.
prepare_claim_refund_calldata Prepare a Refund Claim ~160
Builds an unsigned transaction blueprint for reclaiming funds held by the protocol after a losing bid. When you are outbid, your funds stay claimable rather than being pushed back automatically. This encodes the claim for a given token. Returns an unsigned transaction blueprint for the requested intent. The user is responsible for reviewing, signing, and broadcasting via their own wallet. Aletheia does not hold keys or dispatch transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| claimant_address | string | yes | Your address — used to check there is a pending refund. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet, real funds). |
| token_address | string | yes | The token to reclaim, e.g. the USDC address you bid with. |
No output schema declared.
No examples provided.
prepare_create_auction_calldata Prepare a Gavel Auction ~379
Builds an unsigned transaction blueprint for creating a borrow auction — you post collateral and ask lenders to compete to lend against it — including the prerequisite collateral approval. Every term is yours to set: which collateral and how much, which loan token and how much, the maximum repayment you will accept, the loan duration, how long the auction runs, and the bid step. This tool encodes what you specify and warns about consequences; it does not propose terms, rates or a loan size. Lenders bid DOWN from your maximum repayment, so max_repayment is your worst acceptable price — set it too low and the auction may attract no bids. Returns an unsigned transaction blueprint for the requested intent. The user is responsible for reviewing, signing, and broadcasting via their own wallet. Aletheia does not hold keys or dispatch transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| auction_duration_hours | number | yes | How long the auction accepts bids, in hours. |
| bid_step | string | – | Minimum improvement between bids, decimal string in loan-token units. |
| borrower_address | string | yes | Your address — used to read collateral balance and allowance. |
| collateral_amount | string | yes | Collateral to post, decimal string in token units, e.g. '0.05'. |
| collateral_token | string | yes | Collateral token address. See get_protocol_reference for whitelisted tokens. |
| loan_amount | string | yes | Amount to borrow, decimal string, e.g. '2500.00'. |
| loan_duration_days | number | yes | Loan term in days. |
| loan_token | string | yes | Loan token address (what you want to borrow). |
| max_repayment | string | yes | The most you will repay at maturity, decimal string. Lenders bid below this. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet, real funds). |
No output schema declared.
No examples provided.
prepare_repay_loan_calldata Prepare a Loan Repayment ~155
Builds an unsigned transaction blueprint for repaying a Gavel loan, including the prerequisite approval for the repayment amount. Validates that the loan is live and that you are its borrower. Repay before maturity or the lender may claim your collateral. Returns an unsigned transaction blueprint for the requested intent. The user is responsible for reviewing, signing, and broadcasting via their own wallet. Aletheia does not hold keys or dispatch transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| borrower_address | string | yes | Your address — must match the loan's borrower. |
| loan_id | integer | yes | The loan to repay. See get_user_positions. |
| network | string | – | Network. Default 'arbitrum-one' (mainnet, real funds). |
No output schema declared.
No examples provided.
What is the io.thegavel/gavel MCP server?
io.thegavel/gavel is an MCP server listed in the public MCP registry as io.thegavel/gavel. Oracle-free fixed-rate, fixed-term BTC credit on Arbitrum One. Data and unsigned blueprints. This page covers its hosted endpoint (https://mcp.thegavel.io/mcp).
Is the io.thegavel/gavel MCP server safe to use?
io.thegavel/gavel scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.thegavel/gavel MCP server expose?
io.thegavel/gavel exposes 21 tools: get_yield_curve, get_protocol_reference, check_wallet_status, find_auctions_matching_criteria, list_fiat_onramps, and 16 more. Their descriptions and schemas cost roughly 4,847 tokens of context every time the server is loaded.
Does the io.thegavel/gavel MCP server require authentication?
No. We connected to io.thegavel/gavel without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.thegavel/gavel MCP server still maintained?
io.thegavel/gavel is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.