{"openapi":"3.1.0","info":{"title":"Funding Arb Research API","description":"Public market observations. Fractional rates; APR in percent. No trading execution.","version":"0.1.0"},"paths":{"/healthz":{"get":{"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/readyz":{"get":{"summary":"Ready","operationId":"ready_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/status":{"get":{"summary":"Status","operationId":"status_v1_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/rates":{"get":{"summary":"Rates","operationId":"rates_v1_rates_get","parameters":[{"name":"venue","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Venue"}},{"name":"asset","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Asset"}},{"name":"min_oi","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1000000000000000.0,"minimum":0},{"type":"null"}],"title":"Min Oi"}},{"name":"min_volume","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1000000000000000.0,"minimum":0},{"type":"null"}],"title":"Min Volume"}},{"name":"include_stale","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Stale"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["apr_pct","funding_rate","rate_8h","open_interest","volume_24h","mark_price","observed_at_ms","base","venue"],"type":"string","default":"open_interest","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/opportunities":{"get":{"summary":"Candidates","operationId":"candidates_v1_opportunities_get","parameters":[{"name":"asset","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Asset"}},{"name":"min_oi","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1000000000000000.0,"minimum":0},{"type":"null"}],"title":"Min Oi"}},{"name":"min_volume","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1000000000000000.0,"minimum":0},{"type":"null"}],"title":"Min Volume"}},{"name":"min_spread_apr_pct","in":"query","required":false,"schema":{"type":"number","maximum":1000000.0,"minimum":0,"default":0,"title":"Min Spread Apr Pct"}},{"name":"max_basis_pct","in":"query","required":false,"schema":{"type":"number","maximum":25,"exclusiveMinimum":0,"default":5,"title":"Max Basis Pct"}},{"name":"allow_cross_currency","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Allow Cross Currency"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["spread_apr_pct","spread_8h","min_open_interest","min_volume_24h","mark_basis_pct","oldest_observed_at_ms"],"type":"string","default":"spread_apr_pct","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunitiesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assets":{"get":{"summary":"Assets","operationId":"assets_v1_assets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/history":{"get":{"summary":"History","operationId":"history_v1_history_get","parameters":[{"name":"instrument_id","in":"query","required":true,"schema":{"type":"string","maxLength":120,"title":"Instrument Id"}},{"name":"start_ms","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"Start Ms"}},{"name":"end_ms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":9223372036854775807,"minimum":0},{"type":"null"}],"title":"End Ms"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settlements":{"get":{"summary":"Settlements","operationId":"settlements_v1_settlements_get","parameters":[{"name":"instrument_id","in":"query","required":true,"schema":{"type":"string","maxLength":120,"title":"Instrument Id"}},{"name":"start_ms","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"Start Ms"}},{"name":"end_ms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":9223372036854775807,"minimum":0},{"type":"null"}],"title":"End Ms"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"integer","maximum":9223372036854775807,"minimum":0,"default":0,"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/estimate":{"post":{"summary":"Estimate Endpoint","operationId":"estimate_endpoint_v1_estimate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"EstimateInput":{"properties":{"long_instrument":{"type":"string","maxLength":120,"minLength":1,"title":"Long Instrument"},"short_instrument":{"type":"string","maxLength":120,"minLength":1,"title":"Short Instrument"},"notional_per_leg":{"type":"number","maximum":10000000000.0,"exclusiveMinimum":0.0,"title":"Notional Per Leg","default":10000},"holding_hours":{"type":"number","maximum":8760.0,"exclusiveMinimum":0.0,"title":"Holding Hours","default":24},"long_fee_bps":{"type":"number","maximum":1000.0,"minimum":0.0,"title":"Long Fee Bps"},"short_fee_bps":{"type":"number","maximum":1000.0,"minimum":0.0,"title":"Short Fee Bps"},"slippage_bps_per_trade":{"type":"number","maximum":1000.0,"minimum":0.0,"title":"Slippage Bps Per Trade","default":2},"allow_cross_currency":{"type":"boolean","title":"Allow Cross Currency","default":false}},"type":"object","required":["long_instrument","short_instrument","long_fee_bps","short_fee_bps"],"title":"EstimateInput"},"EstimateResponse":{"properties":{"long_instrument":{"type":"string","title":"Long Instrument"},"short_instrument":{"type":"string","title":"Short Instrument"},"notional_per_leg":{"type":"number","title":"Notional Per Leg"},"total_gross_notional":{"type":"number","title":"Total Gross Notional"},"holding_hours":{"type":"number","title":"Holding Hours"},"gross_funding_estimate":{"type":"number","title":"Gross Funding Estimate"},"round_trip_fees":{"type":"number","title":"Round Trip Fees"},"round_trip_slippage":{"type":"number","title":"Round Trip Slippage"},"net_funding_estimate":{"type":"number","title":"Net Funding Estimate"},"break_even_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Break Even Hours"},"currency":{"type":"string","title":"Currency"},"assumptions":{"items":{"type":"string"},"type":"array","title":"Assumptions"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"}},"type":"object","required":["long_instrument","short_instrument","notional_per_leg","total_gross_notional","holding_hours","gross_funding_estimate","round_trip_fees","round_trip_slippage","net_funding_estimate","break_even_hours","currency","assumptions","warnings"],"title":"EstimateResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"OpportunitiesResponse":{"properties":{"as_of_ms":{"type":"integer","title":"As Of Ms"},"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/Opportunity"},"type":"array","title":"Items"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"comparison":{"type":"string","title":"Comparison"}},"type":"object","required":["as_of_ms","total","items","next_offset","comparison"],"title":"OpportunitiesResponse"},"Opportunity":{"properties":{"asset_id":{"type":"string","title":"Asset Id"},"long_instrument":{"type":"string","title":"Long Instrument"},"short_instrument":{"type":"string","title":"Short Instrument"},"long_venue":{"type":"string","title":"Long Venue"},"short_venue":{"type":"string","title":"Short Venue"},"long_rate_hourly":{"type":"number","title":"Long Rate Hourly"},"short_rate_hourly":{"type":"number","title":"Short Rate Hourly"},"spread_hourly":{"type":"number","title":"Spread Hourly"},"spread_8h":{"type":"number","title":"Spread 8H"},"spread_apr_pct":{"type":"number","title":"Spread Apr Pct"},"mark_basis_pct":{"type":"number","title":"Mark Basis Pct"},"cross_currency":{"type":"boolean","title":"Cross Currency"},"min_open_interest":{"type":"number","title":"Min Open Interest"},"min_volume_24h":{"type":"number","title":"Min Volume 24H"},"oldest_observed_at_ms":{"type":"integer","title":"Oldest Observed At Ms"},"long_next_funding_at_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Long Next Funding At Ms"},"short_next_funding_at_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Short Next Funding At Ms"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"}},"type":"object","required":["asset_id","long_instrument","short_instrument","long_venue","short_venue","long_rate_hourly","short_rate_hourly","spread_hourly","spread_8h","spread_apr_pct","mark_basis_pct","cross_currency","min_open_interest","min_volume_24h","oldest_observed_at_ms","long_next_funding_at_ms","short_next_funding_at_ms","warnings"],"title":"Opportunity"},"RateView":{"properties":{"venue":{"type":"string","title":"Venue"},"venue_type":{"type":"string","enum":["cex","perpdex"],"title":"Venue Type"},"symbol":{"type":"string","title":"Symbol"},"base":{"type":"string","title":"Base"},"asset_id":{"type":"string","title":"Asset Id"},"identity_verified":{"type":"boolean","title":"Identity Verified","default":false},"quote_currency":{"type":"string","title":"Quote Currency"},"settlement_currency":{"type":"string","title":"Settlement Currency"},"contract_multiplier":{"type":"number","exclusiveMinimum":0.0,"title":"Contract Multiplier","default":1},"rate_kind":{"type":"string","const":"predicted","title":"Rate Kind","default":"predicted"},"funding_rate":{"type":"number","title":"Funding Rate"},"rate_period_hours":{"type":"number","maximum":24.0,"exclusiveMinimum":0.0,"title":"Rate Period Hours"},"settlement_interval_hours":{"type":"number","maximum":24.0,"exclusiveMinimum":0.0,"title":"Settlement Interval Hours"},"next_funding_at_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Funding At Ms"},"mark_price":{"type":"number","exclusiveMinimum":0.0,"title":"Mark Price"},"index_price":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Index Price"},"open_interest":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Open Interest"},"volume_24h":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Volume 24H"},"liquidity_currency":{"type":"string","title":"Liquidity Currency"},"open_interest_basis":{"type":"string","title":"Open Interest Basis","default":"venue_reported"},"observed_at_ms":{"type":"integer","title":"Observed At Ms"},"source_at_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source At Ms"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"age_seconds":{"type":"number","title":"Age Seconds"},"usable":{"type":"boolean","title":"Usable"},"quality_flags":{"items":{"type":"string"},"type":"array","title":"Quality Flags"},"instrument_id":{"type":"string","title":"Instrument Id","readOnly":true},"hourly_rate":{"type":"number","title":"Hourly Rate","readOnly":true},"rate_8h":{"type":"number","title":"Rate 8H","readOnly":true},"apr_pct":{"type":"number","title":"Apr Pct","readOnly":true}},"type":"object","required":["venue","venue_type","symbol","base","asset_id","quote_currency","settlement_currency","funding_rate","rate_period_hours","settlement_interval_hours","mark_price","liquidity_currency","age_seconds","usable","quality_flags","instrument_id","hourly_rate","rate_8h","apr_pct"],"title":"RateView"},"RatesResponse":{"properties":{"as_of_ms":{"type":"integer","title":"As Of Ms"},"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/RateView"},"type":"array","title":"Items"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"collection_floor":{"additionalProperties":{"type":"number"},"type":"object","title":"Collection Floor"}},"type":"object","required":["as_of_ms","total","items","next_offset","collection_floor"],"title":"RatesResponse"},"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"}}}}