kalshi_signupLABSCO SUMMARY
An agent that can actually take a position.
Search, quote and buy sit in the same server as the wallet and the API key flow, so a strategy runs end to end, on an instance you host and maintain yourself.
What it is
A self-hosted Node server that routes Kalshi trades through the DFlow protocol on Solana. It covers the whole path: getting an API key, generating or importing a Solana wallet, finding markets, quoting them, and placing the trade.
What you get
- kalshi_search_markets, kalshi_get_events, kalshi_get_event and kalshi_get_market find a market by search or by working down from events
- kalshi_get_quote returns the price you would get; kalshi_get_live_data returns the market's live state
- kalshi_buy_yes and kalshi_buy_no take either side of a contract
- Wallet handling: kalshi_get_wallet_info, kalshi_get_wallet_status, kalshi_get_balances and kalshi_get_deposit_address
- Bring your own key or take it back out: kalshi_import_private_key and kalshi_export_private_key
- kalshi_signup and kalshi_request_api_key handle the account and key from inside the same session
Requirements
You host it yourself: the vendor has wound its platform down, the public endpoints are gone, and the project is no longer maintained. Running an instance needs Node, a PostgreSQL connection string and a hex encryption key for the stored wallets. Keys for DFlow and Jupiter, a Solana RPC endpoint, an admin key and the listening port are all optional — the Jupiter key is what enables the swap tools.
Setup effort
One command — npx -y @quantish/kalshi-server
USE CASES
Finding a market worth a position
Search directly, or work down from the event to the markets under it.
Checking the price before you commit
The quote you would actually get, alongside the market's live state.
Taking a side
Buy yes or buy no on a contract you have just quoted.
Getting funds in place
Deposit address, balances and wallet status — the three things to check before a trade fails for the boring reason.
Using a wallet you already control
Import the key instead of generating one, then confirm the wallet the server is now using.
Getting set up the first time
Signup and key issuance are tools, so the first run happens in the same conversation as the first trade.
36 tools
Listed in project docs. Your client may show a different list.
kalshi_request_api_keykalshi_get_wallet_infokalshi_get_wallet_statuskalshi_get_balanceskalshi_get_deposit_addresskalshi_export_private_keykalshi_import_private_keykalshi_search_marketskalshi_get_marketkalshi_get_eventkalshi_get_eventskalshi_get_live_datakalshi_get_quotekalshi_buy_yeskalshi_buy_nokalshi_sell_positionkalshi_get_positionskalshi_get_orderskalshi_get_swap_quotekalshi_execute_swapkalshi_swap_sol_to_usdckalshi_swap_usdc_to_solkalshi_send_solkalshi_send_usdckalshi_send_tokenkalshi_check_market_initializationkalshi_initialize_marketkalshi_check_redemption_statuskalshi_get_market_by_mintkalshi_get_redeemable_positionskalshi_redeem_winningskalshi_redeem_all_positionskalshi_list_api_keyskalshi_create_additional_api_keykalshi_revoke_api_keyBEFORE YOU INSTALL
What to know first
Tools you get
36 tools named in the project's documentation.
Requires
- npx on PATH
- A PostgreSQL database — its connection string goes in DATABASE_URL
- ENCRYPTION_KEY — a 64-character hex string you generate yourself, used to encrypt stored wallets
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @quantish/kalshi-serverMCP Clients
Any MCP client — stdio
{
"mcpServers": {
"kalshi": {
"command": "npx",
"args": [
"-y",
"@quantish/kalshi-server"
],
"env": {
"DATABASE_URL": "<YOUR_DATABASE_URL>",
"ENCRYPTION_KEY": "<64-char hex>"
}
}
}
}