{"openapi":"3.1.0","info":{"title":"FUSE Market Monitor API","version":"0.2.0"},"paths":{"/api/health/live":{"get":{"summary":"Health Live","operationId":"health_live_api_health_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health/ready":{"get":{"summary":"Health Ready","operationId":"health_ready_api_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/config":{"get":{"summary":"Config","operationId":"config_api_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/testnet/status":{"get":{"summary":"Testnet Status","operationId":"testnet_status_api_testnet_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/testnet/preflight":{"post":{"summary":"Testnet Preflight","operationId":"testnet_preflight_api_testnet_preflight_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreflightRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/transactions":{"post":{"summary":"Testnet Transaction Disabled","operationId":"testnet_transaction_disabled_api_testnet_transactions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/testnet/auth/challenge":{"post":{"summary":"Wallet Challenge","operationId":"wallet_challenge_api_testnet_auth_challenge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/plans":{"post":{"summary":"Transaction Plan","operationId":"transaction_plan_api_testnet_plans_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionPlanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/account":{"post":{"summary":"Testnet Account","operationId":"testnet_account_api_testnet_account_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountReadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/receipt":{"post":{"summary":"Testnet Receipt","operationId":"testnet_receipt_api_testnet_receipt_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptReadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/auth/verify":{"post":{"summary":"Wallet Verify","operationId":"wallet_verify_api_testnet_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/testnet/auth/session":{"get":{"summary":"Wallet Session","operationId":"wallet_session_api_testnet_auth_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"summary":"Wallet Logout","operationId":"wallet_logout_api_testnet_auth_session_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/session":{"get":{"summary":"Read Session","operationId":"read_session_api_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Session","operationId":"session_api_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"summary":"Logout","operationId":"logout_api_session_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/assets":{"get":{"summary":"Assets","operationId":"assets_api_assets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/markets":{"get":{"summary":"Markets","operationId":"markets_api_markets_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}},{"name":"stock","in":"query","required":false,"schema":{"type":"string","maxLength":15,"default":"","title":"Stock"}},{"name":"community","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Community"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chart":{"get":{"summary":"Candles","operationId":"candles_api_chart_get","parameters":[{"name":"market_id","in":"query","required":true,"schema":{"type":"string","maxLength":160,"title":"Market Id"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"1H","title":"Timeframe"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stats":{"get":{"summary":"Stats","operationId":"stats_api_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/quotes":{"post":{"summary":"Quote","operationId":"quote_api_quotes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/positions":{"get":{"summary":"Positions","operationId":"positions_api_positions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Open Position","operationId":"open_position_api_positions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/positions/{position_id}/close":{"post":{"summary":"Close Position","operationId":"close_position_api_positions__position_id__close_post","parameters":[{"name":"position_id","in":"path","required":true,"schema":{"type":"string","title":"Position Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/funds/deposit":{"post":{"summary":"Deposit","operationId":"deposit_api_funds_deposit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/funds/withdraw":{"post":{"summary":"Withdraw","operationId":"withdraw_api_funds_withdraw_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/baskets":{"post":{"summary":"Listing","operationId":"listing_api_baskets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/baskets/{market_id}/topup":{"post":{"summary":"Topup","operationId":"topup_api_baskets__market_id__topup_post","parameters":[{"name":"market_id","in":"path","required":true,"schema":{"type":"string","title":"Market Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options/quote":{"post":{"summary":"Option Quote","operationId":"option_quote_api_options_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options":{"post":{"summary":"Buy Option","operationId":"buy_option_api_options_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/options/{option_id}/close":{"post":{"summary":"Close Option","operationId":"close_option_api_options__option_id__close_post","parameters":[{"name":"option_id","in":"path","required":true,"schema":{"type":"string","title":"Option Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/data-status":{"get":{"summary":"Data Status","operationId":"data_status_api_data_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/market-data":{"get":{"summary":"Market Snapshot","operationId":"market_snapshot_api_market_data_get","parameters":[{"name":"asset_id","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Asset Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":30,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/market-data/{asset_id}/history":{"get":{"summary":"Market History","operationId":"market_history_api_market_data__asset_id__history_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/observe/{asset_id}":{"post":{"summary":"Observe","operationId":"observe_api_observe__asset_id__post","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/live/{path}":{"post":{"summary":"No Live","operationId":"no_live_api_live__path__post","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/export/ledger.csv":{"get":{"summary":"Export","operationId":"export_api_export_ledger_csv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/events":{"get":{"summary":"Events","operationId":"events_api_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/testnet":{"get":{"summary":"Testnet Lab","operationId":"testnet_lab_testnet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Landing","operationId":"landing__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/app":{"get":{"summary":"Legacy App","operationId":"legacy_app_app_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/data":{"get":{"summary":"Home","operationId":"home_data_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/portfolio":{"get":{"summary":"Home","operationId":"home_portfolio_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/trade":{"get":{"summary":"Home","operationId":"home_trade_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AccountReadRequest":{"properties":{"first_id":{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0,"title":"First Id","default":1},"limit":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Limit","default":10}},"additionalProperties":false,"type":"object","title":"AccountReadRequest"},"ChallengeRequest":{"properties":{"wallet":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","title":"Wallet"}},"additionalProperties":false,"type":"object","required":["wallet"],"title":"ChallengeRequest"},"FundsRequest":{"properties":{"amount_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Amount Eth"}},"additionalProperties":false,"type":"object","required":["amount_eth"],"title":"FundsRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ListingRequest":{"properties":{"meme_id":{"type":"string","maxLength":100,"title":"Meme Id"},"stock_id":{"type":"string","maxLength":100,"title":"Stock Id"},"weight_bps":{"type":"integer","enum":[2500,5000,7500],"title":"Weight Bps","default":5000},"seed_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Seed Eth","default":"0.05"}},"additionalProperties":false,"type":"object","required":["meme_id","stock_id"],"title":"ListingRequest"},"OpenRequest":{"properties":{"quote_id":{"type":"string","maxLength":100,"minLength":10,"title":"Quote Id"}},"additionalProperties":false,"type":"object","required":["quote_id"],"title":"OpenRequest"},"OptionRequest":{"properties":{"market_id":{"type":"string","maxLength":160,"title":"Market Id"},"kind":{"type":"string","enum":["call","put"],"title":"Kind"},"strike":{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$","title":"Strike"},"contracts":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Contracts"},"duration_hours":{"type":"integer","enum":[4,24,168],"title":"Duration Hours","default":24},"max_premium_eth":{"type":"string","pattern":"^\\d{1,4}(\\.\\d{1,9})?$","title":"Max Premium Eth"}},"additionalProperties":false,"type":"object","required":["market_id","kind","strike","contracts","max_premium_eth"],"title":"OptionRequest"},"PreflightRequest":{"properties":{"chain_id":{"type":"integer","const":46630,"title":"Chain Id","default":46630},"meme_id":{"type":"string","maxLength":100,"minLength":1,"title":"Meme Id"},"stock_id":{"type":"string","maxLength":100,"minLength":1,"title":"Stock Id"},"side":{"type":"string","enum":["long","short"],"title":"Side"},"leverage":{"type":"integer","enum":[2,3,5],"title":"Leverage"},"margin_eth":{"type":"string","pattern":"^\\d{1,7}(\\.\\d{1,18})?$","title":"Margin Eth"},"stop_loss":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,18})?$"},{"type":"null"}],"title":"Stop Loss"},"take_profit":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,18})?$"},{"type":"null"}],"title":"Take Profit"}},"additionalProperties":false,"type":"object","required":["meme_id","stock_id","side","leverage","margin_eth"],"title":"PreflightRequest"},"QuoteRequest":{"properties":{"market_id":{"type":"string","maxLength":160,"minLength":1,"title":"Market Id"},"side":{"type":"string","enum":["long","short"],"title":"Side"},"leverage":{"type":"integer","enum":[2,3,5],"title":"Leverage"},"margin_eth":{"type":"string","pattern":"^\\d{1,7}(\\.\\d{1,9})?$","title":"Margin Eth"},"slippage_bps":{"type":"integer","maximum":200.0,"minimum":0.0,"title":"Slippage Bps","default":50},"stop_loss":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$"},{"type":"null"}],"title":"Stop Loss"},"take_profit":{"anyOf":[{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,10})?$"},{"type":"null"}],"title":"Take Profit"}},"additionalProperties":false,"type":"object","required":["market_id","side","leverage","margin_eth"],"title":"QuoteRequest"},"ReceiptReadRequest":{"properties":{"tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","title":"Tx Hash"}},"additionalProperties":false,"type":"object","required":["tx_hash"],"title":"ReceiptReadRequest"},"TransactionPlanRequest":{"properties":{"chain_id":{"type":"integer","const":46630,"title":"Chain Id"},"action":{"type":"string","enum":["deposit","withdraw","open","close"],"title":"Action"},"amount_eth":{"anyOf":[{"type":"string","pattern":"^\\d{1,3}(\\.\\d{1,18})?$"},{"type":"null"}],"title":"Amount Eth"},"meme_id":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Meme Id"},"stock_id":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Stock Id"},"side":{"anyOf":[{"type":"string","enum":["long","short"]},{"type":"null"}],"title":"Side"},"leverage":{"anyOf":[{"type":"integer","enum":[2,3,5]},{"type":"null"}],"title":"Leverage"},"nonce":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},{"type":"null"}],"title":"Nonce"},"slippage_bps":{"type":"integer","maximum":200.0,"minimum":0.0,"title":"Slippage Bps","default":50},"stop_loss":{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,18})?$","title":"Stop Loss","default":"0"},"take_profit":{"type":"string","pattern":"^\\d{1,8}(\\.\\d{1,18})?$","title":"Take Profit","default":"0"},"position_id":{"anyOf":[{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0},{"type":"null"}],"title":"Position Id"}},"additionalProperties":false,"type":"object","required":["chain_id","action"],"title":"TransactionPlanRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyRequest":{"properties":{"challenge_id":{"type":"string","pattern":"^[0-9a-f]{32}$","title":"Challenge Id"},"signature":{"type":"string","pattern":"^0x[0-9a-fA-F]{130}$","title":"Signature"}},"additionalProperties":false,"type":"object","required":["challenge_id","signature"],"title":"VerifyRequest"}}}}