{"openapi":"3.1.0","info":{"title":"Skew v1","version":"1.0.0","description":"Non-custodial swap rails and public distributor reads. Agents sign their own transactions."},"servers":[{"url":"/api/v1"}],"paths":{"/swap/build":{"post":{"summary":"Build unsigned SkewRouter calldata","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tokenIn","tokenOut","fee","amountIn","amountOutMinimum","recipient"],"properties":{"tokenIn":{"type":"string"},"tokenOut":{"type":"string"},"fee":{"type":"integer"},"amountIn":{"type":"string","description":"base units"},"amountOutMinimum":{"type":"string"},"recipient":{"type":"string"}}}}}}}},"/epochs":{"get":{"summary":"List distribution epochs"}},"/epochs/{id}":{"get":{"summary":"Epoch detail"}},"/epochs/{id}/payouts":{"get":{"summary":"Payouts for an epoch"}},"/holders/{address}/payouts":{"get":{"summary":"Payouts for a holder"}},"/payouts/board":{"get":{"summary":"Payout desk summary: last drop, eligible count, next stock"}},"/payouts/standings":{"get":{"summary":"Paginated snapshot standings, last drop, or epoch list","parameters":[{"name":"view","in":"query","schema":{"type":"string","enum":["snapshot","last","epochs"]}},{"name":"q","in":"query","schema":{"type":"string"},"description":"Wallet, prefix, or epoch/asset"},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","default":25,"maximum":100}}]}},"/partners":{"get":{"summary":"Registered partners"}},"/partners/{id}":{"get":{"summary":"Partner receipts"}},"/wallet/{address}/transactions":{"get":{"summary":"Confirmed Robinhood Chain transfers for a wallet"}},"/skills":{"get":{"summary":"Agent Skills index — live /api/v1 routes as SKILL.md"}}}}