{"components":{"parameters":{"AuctionId":{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}},"Chain":{"in":"query","name":"chain","schema":{"default":"all","enum":["all","base","robinhood"],"type":"string"}},"Ens":{"description":"true: only launches whose creator has a verified ENS name.","in":"query","name":"ens","schema":{"default":false,"type":"boolean"}},"Github":{"description":"true: only launches whose creator has a verified GitHub account. Several true filters must all hold.","in":"query","name":"github","schema":{"default":false,"type":"boolean"}},"Kind":{"description":"Launch type: revstake or memestake.","in":"query","name":"kind","schema":{"default":"all","enum":["all","revstake","memestake"],"type":"string"}},"Search":{"description":"The website's search. Every word must appear in the name, ticker, stock, description, an address or one of the creator's verified accounts; a leading $ on a word is ignored. Spaces are collapsed and the search is cut to its first 80 characters.","in":"query","name":"q","schema":{"type":"string"}},"X":{"description":"true: only launches whose creator has a verified X account.","in":"query","name":"x","schema":{"default":false,"type":"boolean"}}},"responses":{"InternalError":{"content":{"application/json":{"examples":{"internalError":{"value":{"error":{"code":"internal_error","hint":"Try again in a moment. If it keeps failing","message":"The request could not be completed.","tell us at https://autolaunch.sh/contact.":null}}}},"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"The request could not be completed"},"InvalidQuery":{"content":{"application/json":{"examples":{"invalidQuery":{"value":{"error":{"code":"invalid_request","hint":"Check the request against https://autolaunch.sh/openapi.json. An unknown parameter or value is refused.","message":"The query parameters are invalid."}}}},"schema":{"$ref":"#/components/schemas/ApiError"}}},"description":"Request query parameters are invalid"},"NotFound":{"content":{"application/json":{"examples":{"notFound":{"value":{"error":{"code":"not_found","hint":"List what exists with GET https://autolaunch.sh/api/v1/auctions or GET https://autolaunch.sh/api/v1/tokens. Every endpoint is described at https://autolaunch.sh/openapi.json.","message":"Auction not found."}}}},"schema":{"$ref":"#/components/schemas/NotFoundApiError"}}},"description":"The requested public record was not found"}},"schemas":{"ApiError":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"enum":["invalid_request","internal_error"],"type":"string"},"hint":{"description":"What to do next.","type":"string"},"message":{"type":"string"}},"required":["code","message","hint"],"type":"object"}},"required":["error"],"type":"object"},"Auction":{"additionalProperties":false,"description":"An auction on Base or Robinhood, as the site records it. Every figure the record does not hold yet is null, and `unavailable` names why.","properties":{"address":{"description":"The auction contract's address.","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"bid_volume":{"description":"Everything bid so far, in whole quote-token units.","oneOf":[{"$ref":"#/components/schemas/DecimalString"},{"type":"null"}]},"bid_volume_usd":{"description":"The bid volume in US dollars at the quote token's price when the bid history was recorded.","oneOf":[{"$ref":"#/components/schemas/DecimalString"},{"type":"null"}]},"chain":{"enum":["base","robinhood"],"type":"string"},"chain_id":{"minimum":1,"type":"integer"},"clearing_price":{"description":"The auction's current clearing price in the quote token, as a decimal string.","type":["string","null"]},"currency_raised":{"description":"What the auction has raised so far, in whole quote-token units, as the site last recorded it from the chain.","oneOf":[{"$ref":"#/components/schemas/DecimalString"},{"type":"null"}]},"estimated_end_at":{"description":"When bidding closes, estimated from the auction's end block and the chain's block times.","format":"date-time","type":["string","null"]},"featured":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"kind":{"description":"The launch type: a Revstake or a Memestake launch.","enum":["revstake","memestake"],"type":"string"},"minimum_raise":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"description":"What the auction must raise to launch (its launch threshold), in whole quote-token units. If it ends short, every bid is returned."},"minimum_reached":{"description":"Whether the auction contract reports the minimum met so far. A progress fact only: bidding stays open until the end block.","type":"boolean"},"opened_at":{"format":"date-time","type":["string","null"]},"percent_met":{"description":"currency_raised as a whole percent of minimum_raise, rounded down and capped at 100, as the website shows it.","maximum":100,"minimum":0,"type":["integer","null"]},"quote_token":{"$ref":"#/components/schemas/QuoteToken"},"record_updated_at":{"description":"When the site's stored record of this auction was last written. Writes include the site's own scheduling of its chain reads, so this is not the time of the latest successful chain reading; the site keeps no such time.","format":"date-time","type":"string"},"state":{"description":"ended: bidding has closed and the auction is waiting to be finished; graduated and failed are final.","enum":["created","active","ended","graduated","failed"],"type":"string"},"summary":{"type":["string","null"]},"title":{"type":"string"},"token_allocation":{"allOf":[{"$ref":"#/components/schemas/DecimalString"}],"description":"Whole tokens the auction sells, fixed by its launch type: 10 billion of a Revstake token's 100 billion, 800 million of a Memestake token's 1 billion."},"token_symbol":{"type":["string","null"]},"treasury_security":{"oneOf":[{"$ref":"#/components/schemas/TreasurySecurity"},{"type":"null"}]},"unavailable":{"additionalProperties":false,"description":"One entry for each figure that is null, naming why. not_recorded_yet: the site's chain readers have not recorded it yet (they may still be reading or retrying). chain_unreadable: Robinhood's last read of its chain failed and the figure was never recorded. no_usd_price: the bid volume was recorded while the quote token had no known dollar price.","properties":{"bid_volume":{"enum":["not_recorded_yet"],"type":"string"},"bid_volume_usd":{"enum":["not_recorded_yet","no_usd_price"],"type":"string"},"currency_raised":{"enum":["not_recorded_yet","chain_unreadable"],"type":"string"},"estimated_end_at":{"enum":["not_recorded_yet"],"type":"string"},"percent_met":{"enum":["not_recorded_yet","chain_unreadable"],"type":"string"}},"type":"object"},"url":{"description":"The auction's page on the website.","format":"uri","type":"string"}},"required":["id","chain","chain_id","address","url","title","token_symbol","summary","featured","kind","state","opened_at","estimated_end_at","quote_token","clearing_price","token_allocation","bid_volume","bid_volume_usd","minimum_raise","currency_raised","percent_met","minimum_reached","record_updated_at","unavailable","treasury_security"],"type":"object"},"AuctionBidQuoteEnvelope":{"additionalProperties":false,"properties":{"data":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"auction_id":{"format":"uuid","type":"string"},"current_clearing_price":{"type":"string"},"estimated_tokens_if_end_now":{"type":"string"},"max_price":{"type":"string"},"projected_clearing_price":{"type":"string"},"quote_token":{"$ref":"#/components/schemas/QuoteToken"},"status_band":{"enum":["active","borderline","inactive"],"type":"string"},"warnings":{"items":{"type":"string"},"type":"array"},"would_be_active_now":{"type":"boolean"}},"required":["auction_id","amount","max_price","quote_token","current_clearing_price","projected_clearing_price","would_be_active_now","status_band","estimated_tokens_if_end_now","warnings"],"type":"object"}},"required":["data"],"type":"object"},"AuctionBidRequest":{"additionalProperties":false,"properties":{"amount":{"pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},"max_price":{"pattern":"^\\d+(?:\\.\\d+)?$","type":"string"}},"required":["amount","max_price"],"type":"object"},"AuctionEnvelope":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/Auction"},"robinhood_unavailable":{"description":"Robinhood could not be read just now, so a Robinhood auction shows what was last read from it.","type":"boolean"}},"required":["data","robinhood_unavailable"],"type":"object"},"AuctionListEnvelope":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/Auction"},"type":"array"},"pagination":{"$ref":"#/components/schemas/Pagination"},"robinhood_unavailable":{"description":"Robinhood could not be read just now, so its entries show what was last read from it.","type":"boolean"}},"required":["data","pagination","robinhood_unavailable"],"type":"object"},"DecimalString":{"description":"An exact decimal number as a string; never rounded through a float.","pattern":"^\\d+(?:\\.\\d+)?$","type":"string"},"NotFoundApiError":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"enum":["not_found"],"type":"string"},"hint":{"description":"What to do next.","type":"string"},"message":{"type":"string"}},"required":["code","message","hint"],"type":"object"}},"required":["error"],"type":"object"},"Pagination":{"additionalProperties":false,"properties":{"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["has_more","next_cursor"],"type":"object"},"QuoteToken":{"additionalProperties":false,"description":"The token bids are paid in. REGENT for revstake auctions; the auction's stock token (on Base or Robinhood) for memestake auctions.","properties":{"address":{"type":["string","null"]},"decimals":{"maximum":36,"minimum":0,"type":["integer","null"]},"symbol":{"type":["string","null"]}},"required":["address","symbol","decimals"],"type":"object"},"Token":{"additionalProperties":false,"description":"A graduated token on Base or Robinhood, as the site records it.","properties":{"address":{"description":"The token contract's address, recorded for Robinhood tokens, whose page is /robinhood/tokens/{address}. A Base token's page is /tokens/{id}.","pattern":"^0x[0-9a-fA-F]{40}$","type":["string","null"]},"auction_id":{"format":"uuid","type":"string"},"chain":{"enum":["base","robinhood"],"type":"string"},"chain_id":{"minimum":1,"type":"integer"},"graduated_at":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"subject_id":{"type":["string","null"]},"summary":{"type":["string","null"]},"symbol":{"type":"string"},"top_rank":{"minimum":1,"type":["integer","null"]},"treasury_security":{"oneOf":[{"$ref":"#/components/schemas/TreasurySecurity"},{"type":"null"}]}},"required":["id","chain","chain_id","address","auction_id","subject_id","name","symbol","summary","graduated_at","top_rank","treasury_security"],"type":"object"},"TokenListEnvelope":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/Token"},"type":"array"},"pagination":{"$ref":"#/components/schemas/Pagination"},"robinhood_unavailable":{"description":"Robinhood could not be read just now, so its entries show what was last read from it.","type":"boolean"}},"required":["data","pagination","robinhood_unavailable"],"type":"object"},"TreasurySecurity":{"additionalProperties":false,"properties":{"address":{"pattern":"^0x[0-9a-f]{40}$","type":"string"},"chain_id":{"enum":[8453],"type":"integer"},"classification":{"enum":["supported_safe","safe_1_of_1","eoa","delegated_eoa","unknown_contract","split","unsupported"],"type":"string"},"configuration_fingerprint":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"downgrade_state":{"enum":["none","downgraded"],"type":"string"},"evidence":{"additionalProperties":false,"properties":{"outbound":{"additionalProperties":true,"type":["object","null"]},"regent":{"additionalProperties":true,"type":["object","null"]},"usdc":{"additionalProperties":true,"type":["object","null"]}},"required":["usdc","regent","outbound"],"type":"object"},"id":{"format":"uuid","type":"string"},"observed_at":{"format":"date-time","type":"string"},"safe":{"additionalProperties":true,"type":["object","null"]},"source_block_hash":{"pattern":"^0x[0-9a-f]{64}$","type":"string"},"source_block_number":{"minimum":0,"type":"integer"},"verification_reason":{"enum":["projector_refresh_not_integrated"],"type":"string"},"verification_state":{"enum":["awaiting_current_chain_confirmation"],"type":"string"}},"required":["id","address","chain_id","classification","verification_state","verification_reason","downgrade_state","configuration_fingerprint","source_block_number","source_block_hash","observed_at","safe","evidence"],"type":"object"},"TreasurySecurityEnvelope":{"additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/TreasurySecurity"}},"required":["data"],"type":"object"}},"securitySchemes":{"PrivyAccess":{"scheme":"bearer","type":"http"},"PrivyIdentity":{"in":"header","name":"privy-id-token","type":"apiKey"}}},"externalDocs":{"description":"Developer guide","url":"https://autolaunch.sh/developers"},"info":{"contact":{"email":"build@regents.sh","name":"Regents Labs","url":"https://autolaunch.sh/contact"},"description":"Public reads of Autolaunch auctions, launched tokens, bid estimates and treasury reports. Reads need no account or API key. Bidding, launching and staking happen on the website with the person's own wallet.","title":"Autolaunch API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1/auctions":{"get":{"description":"Public Autolaunch auctions on Base and Robinhood, found and ordered as the website's auction list does. No account or API key is needed.","operationId":"listAuctions","parameters":[{"$ref":"#/components/parameters/Search"},{"description":"Auctions in one state: created (opening soon), active (live), ended (bidding closed, waiting to be finished), failed, graduated (launched).","in":"query","name":"state","schema":{"default":"all","enum":["all","created","active","ended","failed","graduated"],"type":"string"}},{"description":"newest: most recently listed first (the website's Recent). ending: live auctions only, closing soonest first (Closing). volume: highest dollar bid volume first, unrecorded volume last (Highest).","in":"query","name":"sort","schema":{"default":"newest","enum":["newest","ending","volume"],"type":"string"}},{"$ref":"#/components/parameters/Chain"},{"$ref":"#/components/parameters/Kind"},{"$ref":"#/components/parameters/X"},{"$ref":"#/components/parameters/Ens"},{"$ref":"#/components/parameters/Github"},{"description":"Values outside the admitted range are clamped to the nearest boundary.","in":"query","name":"limit","schema":{"default":50,"maximum":50,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the preceding page. Keep the same filters and sort. Expires after 24 hours; restart the listing on 400. New records ahead of the cursor appear when restarting; this is not a frozen snapshot.","in":"query","name":"after","schema":{"maxLength":4096,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuctionListEnvelope"}}},"description":"Public Autolaunch auctions on Base and Robinhood, found and ordered as the website's auction list finds and orders them; every entry names its chain."},"400":{"$ref":"#/components/responses/InvalidQuery"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"summary":"List auctions","x-pagination":"keyset"}},"/api/v1/auctions/{id}":{"get":{"description":"One public auction by its id, with its figures and its treasury report when there is one.","operationId":"getAuction","parameters":[{"description":"An auction's UUID, or a Robinhood auction's contract address.","in":"path","name":"id","required":true,"schema":{"oneOf":[{"format":"uuid","type":"string"},{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuctionEnvelope"}}},"description":"Public Autolaunch auction on Base or Robinhood"},"400":{"$ref":"#/components/responses/InvalidQuery"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"summary":"Get one auction"}},"/api/v1/auctions/{id}/bid-quote":{"post":{"description":"Estimates a bid of `amount` at up to `max_price` from the stored auction snapshot. It does not place a bid; read every warning it returns.","operationId":"quoteAuctionBid","parameters":[{"$ref":"#/components/parameters/AuctionId"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuctionBidRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuctionBidQuoteEnvelope"}}},"description":"Quote from the stored auction snapshot"},"400":{"$ref":"#/components/responses/InvalidQuery"},"404":{"$ref":"#/components/responses/NotFound"}},"security":[],"summary":"Estimate a bid"}},"/api/v1/profile":{"get":{"description":"The signed-in person's own shared profile. Needs their sign-in.","operationId":"profile_get","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner-only shared profile"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Paired proof required"},"403":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner access refused"},"404":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile not created"},"409":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Conflicting or stale verification"},"422":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Invalid profile edit"},"503":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile unavailable"}},"security":[{"PrivyAccess":[],"PrivyIdentity":[]}],"summary":"Get the verified owner’s shared profile"},"patch":{"description":"Changes the signed-in person's own shared profile. Needs their sign-in.","operationId":"profile_update","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"minProperties":1,"properties":{"display_name":{"maxLength":80,"type":["string","null"]},"wallet_address":{"pattern":"^0x[a-fA-F0-9]{40}$","type":["string","null"]}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner-only shared profile"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Paired proof required"},"403":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner access refused"},"404":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile not created"},"409":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Conflicting or stale verification"},"422":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Invalid profile edit"},"503":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile unavailable"}},"security":[{"PrivyAccess":[],"PrivyIdentity":[]}],"summary":"Update the verified owner’s shared profile"}},"/api/v1/profile/sync":{"post":{"description":"Brings the signed-in person's shared profile up to date. Needs their sign-in.","operationId":"profile_sync","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner-only shared profile"},"401":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Paired proof required"},"403":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Owner access refused"},"404":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile not created"},"409":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Conflicting or stale verification"},"422":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Invalid profile edit"},"503":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Profile unavailable"}},"security":[{"PrivyAccess":[],"PrivyIdentity":[]}],"summary":"Sync the verified owner’s shared profile"}},"/api/v1/tokens":{"get":{"description":"Tokens whose auctions succeeded, on Base and Robinhood, newest graduation first.","operationId":"listTokens","parameters":[{"$ref":"#/components/parameters/Search"},{"$ref":"#/components/parameters/Chain"},{"$ref":"#/components/parameters/Kind"},{"$ref":"#/components/parameters/X"},{"$ref":"#/components/parameters/Ens"},{"$ref":"#/components/parameters/Github"},{"description":"Values outside the admitted range are clamped to the nearest boundary.","in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the preceding page. Keep the same filters and sort. Expires after 24 hours; restart the listing on 400. New records ahead of the cursor appear when restarting; this is not a frozen snapshot.","in":"query","name":"after","schema":{"maxLength":4096,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenListEnvelope"}}},"description":"Public Autolaunch tokens on Base and Robinhood, found as the website's token list finds them, newest graduation first; every entry names its chain."},"400":{"$ref":"#/components/responses/InvalidQuery"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"summary":"List launched tokens","x-pagination":"keyset"}},"/api/v1/treasury-security/{address}":{"get":{"description":"The newest stored security report for a launch treasury address. This read never calls a provider.","operationId":"getTreasurySecurity","parameters":[{"in":"path","name":"address","required":true,"schema":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TreasurySecurityEnvelope"}}},"description":"Newest stored treasury observation; this read never calls a provider"},"400":{"$ref":"#/components/responses/InvalidQuery"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"summary":"Get a treasury security report"}}},"servers":[{"url":"https://autolaunch.sh"}]}