{"openapi":"3.1.0","info":{"title":"woop API","version":"1.0.0","description":"Launch coins on the woopcurve, trade them and read woop's data. Build endpoints return a transaction for the user's wallet to sign; send it with POST /transactions. Docs: https://usewoop.xyz/docs/api"},"servers":[{"url":"https://usewoop.xyz/api/v1"}],"security":[{"bearer":[]}],"tags":[{"name":"Launch"},{"name":"Trade"},{"name":"Exit Queue"},{"name":"Creator"},{"name":"Transactions"},{"name":"Coins"},{"name":"Wallets"},{"name":"Account"}],"paths":{"/uploads":{"post":{"tags":["Launch"],"summary":"Store an image","description":"A coin image (cropped square) or a 3:1 banner, as WebP on woop's CDN. Send multipart `file` (and `kind`), or JSON.","operationId":"postUploads","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadJson"},"example":{"url":"https://example.com/moon-cat.png","kind":"image"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Upload"},"example":{"url":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","kind":"image"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/launches":{"post":{"tags":["Launch"],"summary":"Build a launch","description":"A new coin on the woopcurve. Name, ticker, image and pair are required. The creator signs the result and sends it to /transactions; the coin then shows on woop like any other.","operationId":"postLaunches","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchRequest"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","name":"Moon Cat","symbol":"MCAT","image":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","pair":"SOL","description":"The cat that went to the moon.","links":{"website":"https://mooncat.xyz","x":"https://x.com/mooncat"},"firstBuy":"0.5"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchResult"},"example":{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"metadataUri":"https://zync-pad.b-cdn.net/coins/5eCpSHzTKsiafptauyG2vfDZhSdvMR4dz7jgvMX7Paop.json","pair":{"symbol":"SOL","mint":"So11111111111111111111111111111111111111112"},"image":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","banner":"https://zync-pad.b-cdn.net/coins/banner/0c1d2e3f4a5b6c7d8e9f0a1b.webp","costSol":0.015,"firstBuy":{"amount":"0.5","coins":"in the fair opening"},"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"tags":["Launch"],"summary":"Your launches","description":"Coins your key's wallet launched through the API.","operationId":"getLaunches","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiLaunch"}},"example":[{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat","symbol":"MCAT","launchedAt":"2026-11-01T14:58:36.000Z","url":"https://usewoop.xyz/coin/6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp"}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/pairs":{"get":{"tags":["Launch"],"summary":"Pairs open for launches","description":"The pairs a coin can launch on right now.","operationId":"getPairs","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Pair"}},"example":[{"symbol":"SOL","name":"Solana","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","category":"Crypto","logo":"https://zync-pad.b-cdn.net/pairs/So11111111111111111111111111111111111111112.webp","decimals":9,"graduationRaise":125.8}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tickers/{symbol}":{"get":{"tags":["Launch"],"summary":"Check a ticker","description":"Whether a ticker is free. A taken one costs 1 SOL, paid to that coin's holders.","operationId":"getTickersBy_symbol","parameters":[{"name":"symbol","in":"path","required":true,"description":"2–10 letters or numbers","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ticker"},"example":{"symbol":"MCAT","available":false,"takenBy":{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat"},"copyFeeSol":1}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/trades":{"post":{"tags":["Trade"],"summary":"Build a buy or sell","description":"Instant (the Exit Queue first, then the curve or pool) or a Fair Block order (settles with the block at one price).","operationId":"postTrades","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeRequest"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","side":"buy","amount":"0.25","mode":"instant","slippageBps":300}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeResult"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"side":"buy","mode":"instant","amountIn":"0.25","expectedOut":"4580211.33","minOut":"4442804.99","priceImpactPct":0.84,"fee":"0.00375","exitQueue":{"coins":"1200000","quote":"0.065","dip":false,"discountPct":0},"block":null,"swap":null,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/exits":{"post":{"tags":["Exit Queue"],"summary":"Queue a sell","description":"Coins wait in the Exit Queue and fill into instant buys at the curve's price, never below the floor. The seller is paid automatically.","operationId":"postExits","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExitPlaceRequest"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","amount":"20000000","floorPct":-5}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltTransaction"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/exits/cancel":{"post":{"tags":["Exit Queue"],"summary":"Cancel a queued sell","description":"Unsold coins and what the order sold for go back to the seller.","operationId":"postExitsCancel","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExitCancelRequest"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","slot":0}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltTransaction"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/creator/claim":{"post":{"tags":["Creator"],"summary":"Take unlocked coins","description":"After graduation the creator's coins unlock day by day; this sends what has unlocked so far to the creator.","operationId":"postCreatorClaim","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCoin"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltTransaction"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/creator/lock":{"post":{"tags":["Creator"],"summary":"Lock for longer","description":"The creator extends their lock. It can only grow.","operationId":"postCreatorLock","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorLockRequest"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","unlockDays":30,"cliffDays":7}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltTransaction"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/refunds":{"post":{"tags":["Creator"],"summary":"Take a refund","description":"A coin that didn't graduate in time refunds everyone the same share of what they put in. The keeper pays everyone automatically; this is the do-it-yourself way.","operationId":"postRefunds","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCoin"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuiltTransaction"},"example":{"transaction":"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…","lastValidBlockHeight":312345678,"next":"Sign `transaction` with `wallet`, then POST it to /api/v1/transactions."}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/transactions":{"post":{"tags":["Transactions"],"summary":"Send a signed transaction","description":"Send any signed transaction from a build endpoint. Waits until it confirms. A launch built here is credited to your key's wallet.","operationId":"postTransactions","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendRequest"},"example":{"transaction":"AQAB…signed base64…","lastValidBlockHeight":312345678}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendResult"},"example":{"kind":"launch","signature":"5hqJ7pHZnPTXqbQZfSTSwTPL46q6hSf2ahJ1A5KHNg3DC2NCtcEgDqWZePRYTkcP5Du6GeWqz3NKNL1MdvHJcBfx","mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","url":"https://usewoop.xyz/coin/6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins":{"get":{"tags":["Coins"],"summary":"List coins","description":"Coins on woop.","operationId":"getCoins","parameters":[{"name":"sort","in":"query","required":false,"description":"active (default): last traded first; new: newest first; graduated","schema":{"type":"string","enum":["active","new","graduated"]}},{"name":"limit","in":"query","required":false,"description":"1–100, default 20","schema":{"type":"integer"}},{"name":"pair","in":"query","required":false,"description":"Only coins on this pair (symbol or mint)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CoinSummary"}},"example":[{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat","symbol":"MCAT","image":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","quoteMint":"So11111111111111111111111111111111111111112","mcUsd":9640.5,"priceQuote":6.34e-8,"holders":128,"graduated":true,"lastTradeAt":"2026-11-01T15:20:11.000Z","createdAt":"2026-11-01T14:58:36.000Z"}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}":{"get":{"tags":["Coins"],"summary":"One coin","operationId":"getCoinsBy_mint","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coin"},"example":{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat","symbol":"MCAT","image":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","quoteMint":"So11111111111111111111111111111111111111112","mcUsd":9640.5,"priceQuote":6.34e-8,"holders":128,"graduated":true,"lastTradeAt":"2026-11-01T15:20:11.000Z","createdAt":"2026-11-01T14:58:36.000Z","curve":true,"banner":null,"creator":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","network":"mainnet","quoteUsd":152.1,"priceUsd":0.0000096,"liquidityUsd":3820.4,"paidToHoldersUsd":41.27,"paidToHoldersQuote":0.2713,"curvePct":7.7,"top10Pct":18.4,"devPct":1.9,"volume24hUsd":15230,"change24hPct":34.2,"trades":412,"fairSale":null}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/trades":{"get":{"tags":["Coins"],"summary":"Its trades","description":"Newest first. Fair Block orders, Exit Queue fills and fair launch shares are tagged in `via`.","operationId":"getCoinsBy_mintTrades","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1–200, default 60","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"example":[{"id":"5hqJ7pHZnPTXqbQZfSTSwTPL46q6hSf2ahJ1A5KHNg3DC2NCtcEgDqWZePRYTkcP5Du6GeWqz3NKNL1MdvHJcBfx:1000","signature":"5hqJ7pHZnPTXqbQZfSTSwTPL46q6hSf2ahJ1A5KHNg3DC2NCtcEgDqWZePRYTkcP5Du6GeWqz3NKNL1MdvHJcBfx","side":"buy","trader":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","quote":0.25,"amount":4580211.33,"usd":38.02,"mcUsd":9640.5,"time":"2026-11-01T14:58:36.000Z","via":"block"}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/holders":{"get":{"tags":["Coins"],"summary":"Its holders","description":"The biggest 100, with what each bought, sold and earned.","operationId":"getCoinsBy_mintHolders","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Holder"}},"example":[{"address":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","pct":0.46,"since":"2026-11-01T14:58:36.000Z","amount":4580211.33,"earnedQuote":0.0031,"earnedUsd":0.47,"boughtAmount":6000000,"soldAmount":1420000,"boughtQuote":0.2,"soldQuote":0.1,"valueQuote":0.2903,"pnlQuote":0.1903,"boughtUsd":30.42,"soldUsd":15.21,"valueUsd":44.15,"pnlUsd":28.94}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/candles":{"get":{"tags":["Coins"],"summary":"Its candles","description":"Market-cap candles in USD.","operationId":"getCoinsBy_mintCandles","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}},{"name":"tf","in":"query","required":false,"description":"Seconds per candle: 1, 5, 15, 30, 60 (default), 300, 900, 1800, 3600 or 14400","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}},"example":[{"time":3,"open":9600,"high":9800,"low":9500,"close":9640,"volume":512.3}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/curve":{"get":{"tags":["Coins"],"summary":"Its woopcurve state","description":"Progress, graduation, the open Fair Block, fees and the creator's lock. With `wallet`, that wallet's order, Exit Queue orders, instant-sell allowance and refund.","operationId":"getCoinsBy_mintCurve","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}},{"name":"wallet","in":"query","required":false,"description":"A wallet: adds its side","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Curve"},"example":{"status":"trading","quoteDecimals":9,"raised":9.68,"target":125.8,"soldPct":7.1,"mcap":{"start":33,"now":63.4,"graduation":328.8},"graduatedAt":null,"pool":null,"openingEndsAt":null,"blockClosesAt":null,"refundAt":"2026-11-01T14:58:36.000Z","advance":{"amount":4580211.33,"repaid":0.06,"owed":0.94},"creator":{"locked":18791167.7,"vest":0,"claimed":0,"claimable":0,"unlockDays":10,"cliffDays":0,"graduatedAt":null},"creatorFeesOwed":0.0042,"fees":{"trade":1.5,"instant":10,"exit":1,"pool":1.5,"tierHalf":true,"split":{"trade":[0.6,0.5,0.4],"instant":[0.5,0.25,0.25],"exit":[0.5,0.25,0.25],"pool":[0.6,0.5,0.4]}},"mine":{"order":null,"exits":[{"slot":0,"left":4000000,"owed":0.94,"floorPct":-5}],"instantMax":916042.2,"instantNextAt":null,"refund":null}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/queue":{"get":{"tags":["Coins"],"summary":"Its Exit Queue","description":"Orders waiting now and every order before them.","operationId":"getCoinsBy_mintQueue","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}},{"name":"wallet","in":"query","required":false,"description":"A wallet: adds its side","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Queue"},"example":{"spot":6.34e-8,"quoteDecimals":9,"orders":[{"slot":0,"id":"5hqJ7pHZnPTXqbQZfSTSwTPL46q6hSf2ahJ1A5KHNg3DC2NCtcEgDqWZePRYTkcP5Du6GeWqz3NKNL1MdvHJcBfx:1000","seller":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","remaining":12000000,"floor":6.02e-8,"floorPct":-5,"proceeds":0.31,"mine":true}],"totalQueued":12000000,"graduated":true,"feePct":1,"tierFeePct":0.5,"tier":true,"history":[{"id":"5hqJ7pHZnPTXqbQZfSTSwTPL46q6hSf2ahJ1A5KHNg3DC2NCtcEgDqWZePRYTkcP5Du6GeWqz3NKNL1MdvHJcBfx:1000","seller":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","mine":true,"amount":8000000,"filled":8000000,"received":0.49,"floor":6.02e-8,"status":"filled","placedAt":"2026-11-01T15:02:10.000Z","closedAt":null,"slot":null}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/positions/{wallet}":{"get":{"tags":["Coins"],"summary":"A wallet's position","description":"What the wallet holds, paid and got, and its profit or loss.","operationId":"getCoinsBy_mintPositionsBy_wallet","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}},{"name":"wallet","in":"path","required":true,"description":"The wallet","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Position"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","amount":4580211.33,"pct":0.46,"quoteSymbolMint":"So11111111111111111111111111111111111111112","valueQuote":0.2903,"valueUsd":44.15,"paidQuote":0.2,"receivedQuote":0.1,"pnlQuote":0.1903,"pnlUsd":28.94,"trades":412,"boughtAmount":6000000,"soldAmount":1420000,"since":"2026-11-01T14:58:36.000Z","quoteUsd":152.1}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/payouts":{"get":{"tags":["Coins"],"summary":"Its payouts to holders","description":"Holders are paid every hour, automatically, in the pair token.","operationId":"getCoinsBy_mintPayouts","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Payout"}},"example":[{"epoch":37,"rewardMint":"So11111111111111111111111111111111111111112","amount":0.0271,"amountUsd":4.12,"holders":128,"postedAt":"2026-11-01T15:00:00.000Z"}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/events":{"get":{"tags":["Coins"],"summary":"Its events","description":"Holder payouts, promoter fees, Fair Blocks, Exit Queue fills and creator fees, oldest first (the chart's markers).","operationId":"getCoinsBy_mintEvents","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"example":[{"time":3,"kind":"fairblock","usd":94.9,"n":14}]}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coins/{mint}/signals":{"get":{"tags":["Coins"],"summary":"Its rug signals","description":"Dev-linked wallets, snipers, bundled buys and who funded the creator.","operationId":"getCoinsBy_mintSignals","parameters":[{"name":"mint","in":"path","required":true,"description":"The coin's address","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signals"},"example":{"devFunder":"3Qx9vLm2TnB8rJ5cWzXy7kP4sF1gH6dA9eN0bRtUoVi","devFundedByExchange":true,"linked":{"wallets":[],"pct":0},"snipers":{"wallets":[],"pct":0},"bundled":{"wallets":[],"pct":0},"lock":null,"checked":40,"holders":128}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wallets/{wallet}/portfolio":{"get":{"tags":["Wallets"],"summary":"A wallet's portfolio","description":"Every woop coin the wallet holds or earned from, with totals.","operationId":"getWalletsBy_walletPortfolio","parameters":[{"name":"wallet","in":"path","required":true,"description":"The wallet","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Portfolio"},"example":{"holdings":[{"coin":{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat","symbol":"MCAT","image":"https://zync-pad.b-cdn.net/coins/img/a9788d7c9762b17650551eb2.webp","quoteMint":"So11111111111111111111111111111111111111112","mcUsd":9640.5,"priceQuote":6.34e-8,"holders":128,"graduated":true,"lastTradeAt":"2026-11-01T15:20:11.000Z","createdAt":"2026-11-01T14:58:36.000Z","curve":true,"banner":null,"creator":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","network":"mainnet","quoteUsd":152.1,"priceUsd":0.0000096,"liquidityUsd":3820.4,"paidToHoldersUsd":41.27,"paidToHoldersQuote":0.2713,"curvePct":7.7,"top10Pct":18.4,"devPct":1.9,"volume24hUsd":15230,"change24hPct":34.2,"trades":412,"fairSale":null},"amount":4580211.33,"pct":0.46,"valueUsd":44.15,"since":"2026-11-01T14:58:36.000Z","earnedQuote":0.0031,"earnedUsd":0.47,"claimable":[],"claimableUsd":0}],"totals":{"valueUsd":44.15,"earnedUsd":0.47,"claimableUsd":0,"claimableCount":0,"coins":3}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/me":{"get":{"tags":["Account"],"summary":"Your key","description":"Your key's wallet, its usage and the coins it launched.","operationId":"getMe","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"},"example":{"wallet":"8hyPWptPNa47TCinJbopyjF2H92kkpt2xCvCwF1ivMh6","key":{"prefix":"woop_AKPH67r","createdAt":"2026-11-01T14:58:36.000Z","lastUsedAt":"2026-11-01T14:58:36.000Z","requests":1840},"launches":[{"mint":"6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp","name":"Moon Cat","symbol":"MCAT","launchedAt":"2026-11-01T14:58:36.000Z","url":"https://usewoop.xyz/coin/6D162EwSMepWrTJNxAyfHM3RBBG5pgSQy9mLvrZBS9Pp"}]}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Can't go through as asked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Your API key: woop_…"}},"schemas":{"Error":{"type":"object","description":"Every failed request.","properties":{"error":{"$ref":"#/components/schemas/ErrorBody","description":"What went wrong"}},"required":["error"]},"ErrorBody":{"type":"object","description":"Inside `Error`.","properties":{"code":{"type":"string","description":"Stable code to branch on: see Errors and limits"},"message":{"type":"string","description":"A plain sentence you can show to a user"}},"required":["code","message"]},"BuiltTransaction":{"type":"object","description":"Every endpoint that builds something returns this: sign `transaction` with the request's `wallet`, then send it.","properties":{"transaction":{"type":"string","description":"A base64 versioned transaction, unsigned by the wallet (a launch is already signed by its new mint)"},"lastValidBlockHeight":{"type":"integer","description":"It expires after this block height (about a minute)"},"next":{"type":"string","description":"What to do with it"}},"required":["transaction","lastValidBlockHeight","next"]},"Pair":{"type":"object","description":"A token a coin can launch against. Holders are paid in it.","properties":{"symbol":{"type":"string","description":"Its ticker, e.g. SOL"},"name":{"type":"string","description":"Its name"},"mint":{"type":"string","description":"Its token address"},"category":{"type":"string","description":"Crypto, Dollars, Commodities, Memes…"},"logo":{"type":["string","null"],"description":"Logo URL"},"decimals":{"type":"integer","description":"Its decimals"},"graduationRaise":{"type":"number","description":"How much of it a coin on this pair raises to graduate"}},"required":["symbol","name","mint","category","logo","decimals","graduationRaise"]},"Ticker":{"type":"object","description":"Whether a ticker is free.","properties":{"symbol":{"type":"string","description":"The ticker, upper case"},"available":{"type":"boolean","description":"Free to use at no extra cost"},"takenBy":{"$ref":"#/components/schemas/TickerOwner","description":"The coin that has it"},"copyFeeSol":{"type":"number","description":"What using it anyway costs, paid to that coin's holders"}},"required":["symbol","available"]},"TickerOwner":{"type":"object","description":"Inside `Ticker`.","properties":{"mint":{"type":"string","description":"The coin with the ticker"},"name":{"type":"string","description":"Its name"}},"required":["mint","name"]},"Upload":{"type":"object","description":"A stored image.","properties":{"url":{"type":"string","description":"Use it as a launch's `image` or `banner`"},"kind":{"type":"string","enum":["image","banner"],"description":"Square coin image (512 × 512) or 3:1 banner (1500 × 500)"}},"required":["url","kind"]},"UploadJson":{"type":"object","description":"The JSON body of an upload (or send multipart `file` and `kind`).","properties":{"url":{"type":"string","description":"An https image for woop to fetch"},"data":{"type":"string","description":"The image as base64 (a data: URL works)"},"kind":{"type":"string","enum":["image","banner"],"description":"Default image"}},"required":[]},"LaunchRequest":{"type":"object","description":"A new coin. The same form as woop's launch page.","properties":{"wallet":{"type":"string","description":"The creator. Signs and pays for the launch, and is credited as its creator"},"name":{"type":"string","description":"1–32 characters"},"symbol":{"type":"string","description":"The ticker: 2–10 letters or numbers"},"image":{"type":"string","description":"From POST /uploads, or any https image URL (woop stores it)"},"pair":{"type":"string","description":"A pair's symbol or mint from GET /pairs"},"description":{"type":"string","description":"Up to 280 characters"},"banner":{"type":"string","description":"A 3:1 banner: from POST /uploads (kind banner) or an https URL"},"links":{"$ref":"#/components/schemas/Links","description":"The coin's website and socials"},"firstBuy":{"type":"string","description":"The creator's buy in the fair opening, in the pair token (e.g. \"0.5\")"},"unlockDays":{"type":"integer","description":"Days the creator's coins unlock over after graduation (default 10)"},"cliffDays":{"type":"integer","description":"Days after graduation before they start unlocking (default 0)"}},"required":["wallet","name","symbol","image","pair"]},"Links":{"type":"object","description":"Inside `LaunchRequest`. https only.","properties":{"website":{"type":"string","description":"Website"},"x":{"type":"string","description":"X profile"},"telegram":{"type":"string","description":"Telegram"}},"required":[]},"LaunchResult":{"type":"object","description":"A launch ready to sign.","properties":{"mint":{"type":"string","description":"The new coin's address"},"transaction":{"type":"string","description":"Base64, already signed by the new mint: the creator signs it too"},"lastValidBlockHeight":{"type":"integer","description":"It expires after this"},"metadataUri":{"type":"string","description":"The coin's metadata on woop's CDN"},"pair":{"$ref":"#/components/schemas/PairRef","description":"The pair it launches on"},"image":{"type":"string","description":"The stored image"},"banner":{"type":["string","null"],"description":"The stored banner"},"costSol":{"type":"number","description":"Network fees and rent the launch costs the creator; a first buy is on top"},"firstBuy":{"anyOf":[{"$ref":"#/components/schemas/FirstBuy"},{"type":"null"}],"description":"The first buy, if any"},"next":{"type":"string","description":"What to do with it"}},"required":["mint","transaction","lastValidBlockHeight","metadataUri","pair","image","banner","costSol","firstBuy","next"]},"PairRef":{"type":"object","description":"A pair, briefly.","properties":{"symbol":{"type":"string","description":"Ticker"},"mint":{"type":"string","description":"Token address"}},"required":["symbol","mint"]},"FirstBuy":{"type":"object","description":"Inside `LaunchResult`.","properties":{"amount":{"type":"string","description":"Pair token in"},"coins":{"type":"string","description":"Coins out (\"in the fair opening\": they settle with everyone's at one price)"}},"required":["amount","coins"]},"TradeRequest":{"type":"object","description":"A buy or a sell.","properties":{"wallet":{"type":"string","description":"The trader"},"mint":{"type":"string","description":"The coin"},"side":{"type":"string","enum":["buy","sell"],"description":"Buy or sell"},"amount":{"type":"string","description":"Buys: pair token to spend, fees included. Sells: coins to sell"},"mode":{"type":"string","enum":["instant","block"],"description":"instant (default) fills now; block joins the open Fair Block"},"slippageBps":{"type":"integer","description":"Instant trades: the most the price may move, in basis points"},"payWith":{"type":"string","enum":["pair","sol"],"description":"sol pays with SOL on a non-SOL pair, swapped in the same transaction (mainnet)"},"ref":{"type":"string","description":"A promoter wallet: it earns 0.25% of the trade"}},"required":["wallet","mint","side","amount"]},"TradeResult":{"type":"object","description":"A trade ready to sign, and what it should do.","properties":{"transaction":{"type":"string","description":"Base64: the trader signs it"},"lastValidBlockHeight":{"type":"integer","description":"It expires after this"},"side":{"type":"string","enum":["buy","sell"],"description":"Buy or sell"},"mode":{"type":"string","enum":["instant","block"],"description":"How it fills"},"amountIn":{"type":"string","description":"What goes in"},"expectedOut":{"type":"string","description":"What should come out"},"minOut":{"type":"string","description":"The least it accepts (instant)"},"priceImpactPct":{"type":"number","description":"How far it moves the price"},"fee":{"type":"string","description":"The fee, in the pair token"},"exitQueue":{"anyOf":[{"$ref":"#/components/schemas/QueueFill"},{"type":"null"}],"description":"Instant buys: the part filled from the Exit Queue"},"block":{"anyOf":[{"$ref":"#/components/schemas/BlockInfo"},{"type":"null"}],"description":"Fair Block orders: the block"},"swap":{"anyOf":[{"$ref":"#/components/schemas/SwapInfo"},{"type":"null"}],"description":"Paying with SOL on another pair: the swap leg"},"next":{"type":"string","description":"What to do with it"}},"required":["transaction","lastValidBlockHeight","side","mode","amountIn","expectedOut","minOut","priceImpactPct","fee","exitQueue","block","swap","next"]},"QueueFill":{"type":"object","description":"Inside `TradeResult`.","properties":{"coins":{"type":"string","description":"Coins from the queue"},"quote":{"type":"string","description":"Pair token spent on them"},"dip":{"type":"boolean","description":"A holder deal applied"},"discountPct":{"type":"number","description":"Its discount"}},"required":["coins","quote","dip","discountPct"]},"BlockInfo":{"type":"object","description":"Inside `TradeResult`.","properties":{"window":{"type":"number","description":"Seconds the block collects orders before it settles"}},"required":["window"]},"SwapInfo":{"type":"object","description":"Inside `TradeResult`.","properties":{"pair":{"type":"string","description":"The pair-token leg"},"leftover":{"type":"string","description":"What stays in the wallet in the pair token"},"impactPct":{"type":"number","description":"The swap's own price impact"},"via":{"type":"string","description":"The route"}},"required":["pair","leftover","impactPct","via"]},"ExitPlaceRequest":{"type":"object","description":"A sell to queue.","properties":{"wallet":{"type":"string","description":"The seller"},"mint":{"type":"string","description":"The coin"},"amount":{"type":"string","description":"Coins to queue"},"floorPct":{"type":"number","description":"The lowest price accepted against now, −50 to 900 (default −5: up to 5% below)"}},"required":["wallet","mint","amount"]},"ExitCancelRequest":{"type":"object","description":"An Exit Queue order to take down.","properties":{"wallet":{"type":"string","description":"The seller"},"mint":{"type":"string","description":"The coin"},"slot":{"type":"integer","description":"The order's slot, from GET /coins/{mint}/queue"}},"required":["wallet","mint","slot"]},"WalletCoin":{"type":"object","description":"A wallet and a coin.","properties":{"wallet":{"type":"string","description":"The wallet that signs"},"mint":{"type":"string","description":"The coin"}},"required":["wallet","mint"]},"CreatorLockRequest":{"type":"object","description":"A longer creator lock. A lock can only grow.","properties":{"wallet":{"type":"string","description":"The coin's creator"},"mint":{"type":"string","description":"The coin"},"unlockDays":{"type":"integer","description":"Days to unlock over, 1–3650"},"cliffDays":{"type":"integer","description":"Days before unlocking starts, 0–3650 (default 0)"}},"required":["wallet","mint","unlockDays"]},"SendRequest":{"type":"object","description":"A signed transaction from any build endpoint.","properties":{"transaction":{"type":"string","description":"Base64, signed"},"lastValidBlockHeight":{"type":"integer","description":"From the build response"}},"required":["transaction"]},"SendResult":{"type":"object","description":"A transaction that landed.","properties":{"kind":{"type":"string","enum":["launch","trade"],"description":"launch for launches; trade for everything else"},"signature":{"type":"string","description":"The transaction signature"},"mint":{"type":"string","description":"Launches: the new coin"},"url":{"type":"string","description":"Launches: its page on woop"}},"required":["kind","signature"]},"CoinSummary":{"type":"object","description":"A coin in a list.","properties":{"mint":{"type":"string","description":"Its address"},"name":{"type":"string","description":"Name"},"symbol":{"type":"string","description":"Ticker"},"image":{"type":["string","null"],"description":"Image URL"},"quoteMint":{"type":"string","description":"Its pair's mint"},"mcUsd":{"type":["number","null"],"description":"Market cap, USD"},"priceQuote":{"type":["number","null"],"description":"Price in the pair token"},"holders":{"type":"integer","description":"Wallets holding it"},"graduated":{"type":"boolean","description":"In its WAMM pool"},"lastTradeAt":{"type":["string","null"],"description":"ISO time of its last trade"},"createdAt":{"type":"string","description":"ISO launch time"}},"required":["mint","name","symbol","image","quoteMint","mcUsd","priceQuote","holders","graduated","lastTradeAt","createdAt"]},"Coin":{"allOf":[{"$ref":"#/components/schemas/CoinSummary"},{"type":"object","description":"One coin: everything in `CoinSummary`, plus:","properties":{"curve":{"type":"boolean","description":"On the woopcurve (then its WAMM pool)"},"banner":{"type":["string","null"],"description":"3:1 banner URL"},"creator":{"type":"string","description":"Its creator's wallet"},"network":{"type":"string","description":"mainnet or devnet"},"quoteUsd":{"type":["number","null"],"description":"The pair's USD price"},"priceUsd":{"type":["number","null"],"description":"Price, USD"},"liquidityUsd":{"type":["number","null"],"description":"Liquidity, USD"},"paidToHoldersUsd":{"type":["number","null"],"description":"Paid to holders so far, USD"},"paidToHoldersQuote":{"type":"number","description":"Paid to holders so far, pair token"},"curvePct":{"type":["number","null"],"description":"How far along the curve, 0–100"},"top10Pct":{"type":["number","null"],"description":"Share the 10 biggest wallets hold"},"devPct":{"type":["number","null"],"description":"Share the creator's wallet holds"},"volume24hUsd":{"type":["number","null"],"description":"24h volume, USD"},"change24hPct":{"type":["number","null"],"description":"24h move, %"},"trades":{"type":"integer","description":"Trades so far"},"fairSale":{"type":["string","null"],"description":"The fair launch that opened it, if any"}},"required":["creator","network","quoteUsd","priceUsd","liquidityUsd","paidToHoldersUsd","paidToHoldersQuote","curvePct","top10Pct","devPct","volume24hUsd","change24hPct","trades"]}],"description":"One coin: everything in `CoinSummary`, plus:"},"Trade":{"type":"object","description":"A trade on the tape.","properties":{"id":{"type":"string","description":"Unique id"},"signature":{"type":"string","description":"Its transaction"},"side":{"type":"string","enum":["buy","sell"],"description":"Buy or sell"},"trader":{"type":"string","description":"The wallet"},"quote":{"type":"number","description":"Pair token in or out"},"amount":{"type":"number","description":"Coins"},"usd":{"type":["number","null"],"description":"In USD"},"mcUsd":{"type":["number","null"],"description":"Market cap at the trade, USD"},"time":{"type":"string","description":"ISO time"},"via":{"type":"string","enum":["queue","deal","block","fair"],"description":"Filled from the Exit Queue, a holder deal, a Fair Block order or the fair launch"}},"required":["id","signature","side","trader","quote","amount","usd","mcUsd","time"]},"Holder":{"type":"object","description":"A holder and how they did.","properties":{"address":{"type":"string","description":"Wallet"},"pct":{"type":"number","description":"Share of supply"},"since":{"type":"string","description":"ISO time its holding began"},"amount":{"type":"number","description":"Coins held"},"earnedQuote":{"type":"number","description":"Paid to it for holding, pair token"},"earnedUsd":{"type":["number","null"],"description":"The same in USD"},"boughtAmount":{"type":"number","description":"Coins bought"},"soldAmount":{"type":"number","description":"Coins sold"},"boughtQuote":{"type":"number","description":"Pair token spent"},"soldQuote":{"type":"number","description":"Pair token received"},"valueQuote":{"type":"number","description":"Holding at the price now"},"pnlQuote":{"type":"number","description":"Profit or loss: value + sold − bought"},"boughtUsd":{"type":["number","null"],"description":"USD"},"soldUsd":{"type":["number","null"],"description":"USD"},"valueUsd":{"type":["number","null"],"description":"USD"},"pnlUsd":{"type":["number","null"],"description":"USD"},"tag":{"type":"string","enum":["dev"],"description":"The creator"}},"required":["address","pct","since","amount","earnedQuote","earnedUsd","boughtAmount","soldAmount","boughtQuote","soldQuote","valueQuote","pnlQuote","boughtUsd","soldUsd","valueUsd","pnlUsd"]},"Candle":{"type":"object","description":"A market-cap candle, USD.","properties":{"time":{"type":"integer","description":"Unix seconds, the candle's start"},"open":{"type":"number","description":"Open"},"high":{"type":"number","description":"High"},"low":{"type":"number","description":"Low"},"close":{"type":"number","description":"Close"},"volume":{"type":"number","description":"Volume, USD"}},"required":["time","open","high","low","close","volume"]},"Curve":{"type":"object","description":"A woopcurve coin's state.","properties":{"status":{"type":"string","enum":["opening","trading","block-pending","complete","graduated","refund"],"description":"Where it is"},"quoteDecimals":{"type":"integer","description":"The pair's decimals"},"raised":{"type":"number","description":"Pair token in the curve"},"target":{"type":"number","description":"What graduation takes"},"soldPct":{"type":"number","description":"Share of the curve's 760M coins sold"},"mcap":{"$ref":"#/components/schemas/Mcaps","description":"Market caps, pair token"},"graduatedAt":{"type":["string","null"],"description":"When it moved into its WAMM pool"},"pool":{"anyOf":[{"$ref":"#/components/schemas/Pool"},{"type":"null"}],"description":"Its WAMM pool"},"openingEndsAt":{"type":["string","null"],"description":"When the fair opening ends"},"blockClosesAt":{"type":["string","null"],"description":"When the open Fair Block settles"},"refundAt":{"type":["string","null"],"description":"When refunds start if it hasn't graduated"},"advance":{"$ref":"#/components/schemas/Advance","description":"The creator's 1 SOL launch advance"},"creator":{"$ref":"#/components/schemas/CreatorLock","description":"The creator's locked coins"},"creatorFeesOwed":{"type":"number","description":"Creator fees waiting for the next payout"},"fees":{"$ref":"#/components/schemas/Fees","description":"Its fees"},"mine":{"$ref":"#/components/schemas/CurveMine","description":"With ?wallet=: that wallet's side"}},"required":["status","quoteDecimals","raised","target","soldPct","mcap","graduatedAt","pool","openingEndsAt","blockClosesAt","refundAt","advance","creator","creatorFeesOwed","fees"]},"Mcaps":{"type":"object","description":"Inside `Curve`.","properties":{"start":{"type":"number","description":"At launch"},"now":{"type":"number","description":"Now"},"graduation":{"type":"number","description":"Where it graduates"}},"required":["start","now","graduation"]},"Pool":{"type":"object","description":"Inside `Curve`.","properties":{"quote":{"type":"number","description":"Pair token"},"coins":{"type":"number","description":"Coins"},"burned":{"type":"number","description":"Coins burned at graduation"}},"required":["quote","coins","burned"]},"Advance":{"type":"object","description":"Inside `Curve`.","properties":{"amount":{"type":"number","description":"The advance"},"repaid":{"type":"number","description":"Repaid from creator fees"},"owed":{"type":"number","description":"Still owed"}},"required":["amount","repaid","owed"]},"CreatorLock":{"type":"object","description":"Inside `Curve`.","properties":{"locked":{"type":"number","description":"Coins locked"},"vest":{"type":"number","description":"Coins unlocking"},"claimed":{"type":"number","description":"Coins taken"},"claimable":{"type":"number","description":"Coins the creator can take now"},"unlockDays":{"type":"integer","description":"Days they unlock over"},"cliffDays":{"type":"integer","description":"Days before unlocking starts"},"graduatedAt":{"type":["string","null"],"description":"When the unlock clock started"}},"required":["locked","vest","claimed","claimable","unlockDays","cliffDays","graduatedAt"]},"Fees":{"type":"object","description":"Inside `Curve`. Percent of the trade.","properties":{"trade":{"type":"number","description":"Curve trades and Fair Blocks"},"instant":{"type":"number","description":"Instant sells"},"exit":{"type":"number","description":"Exit Queue, each side"},"pool":{"type":"number","description":"WAMM pool trades"},"tierHalf":{"type":"boolean","description":"Holders of 100k $WOOP pay half"},"split":{"$ref":"#/components/schemas/FeeSplit","description":"Each fee split between holders, the creator and woop"}},"required":["trade","instant","exit","pool","tierHalf","split"]},"FeeSplit":{"type":"object","description":"Inside `Fees`: [holders, creator, woop], percent of the trade.","properties":{"trade":{"type":"array","items":{"type":"number"}},"instant":{"type":"array","items":{"type":"number"}},"exit":{"type":"array","items":{"type":"number"}},"pool":{"type":"array","items":{"type":"number"}}},"required":["trade","instant","exit","pool"]},"CurveMine":{"type":"object","description":"Inside `Curve`.","properties":{"order":{"anyOf":[{"$ref":"#/components/schemas/MyOrder"},{"type":"null"}],"description":"Its Fair Block order"},"exits":{"type":"array","items":{"$ref":"#/components/schemas/MyExit"},"description":"Its Exit Queue orders"},"instantMax":{"type":"number","description":"The most it can instant-sell now"},"instantNextAt":{"type":["string","null"],"description":"When its next instant sell is allowed"},"refund":{"anyOf":[{"$ref":"#/components/schemas/MyRefund"},{"type":"null"}],"description":"Its refund, in refund mode"}},"required":["order","exits","instantMax","instantNextAt","refund"]},"MyOrder":{"type":"object","description":"Inside `CurveMine`.","properties":{"buy":{"type":"boolean","description":"A buy"},"amount":{"type":"number","description":"Its amount"},"settled":{"type":"boolean","description":"Its block settled"}},"required":["buy","amount","settled"]},"MyExit":{"type":"object","description":"Inside `CurveMine`.","properties":{"slot":{"type":"integer","description":"For cancelling"},"left":{"type":"number","description":"Coins left"},"owed":{"type":"number","description":"Proceeds waiting"},"floorPct":{"type":"number","description":"Its floor against now"}},"required":["slot","left","owed","floorPct"]},"MyRefund":{"type":"object","description":"Inside `CurveMine`.","properties":{"estimate":{"type":"number","description":"About what it gets back"},"paid":{"type":"boolean","description":"Already paid"}},"required":["estimate","paid"]},"Queue":{"type":"object","description":"A coin's Exit Queue.","properties":{"spot":{"type":"number","description":"Price now, pair token per coin"},"quoteDecimals":{"type":"integer","description":"The pair's decimals"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/QueueOrder"},"description":"Orders waiting now"},"totalQueued":{"type":"number","description":"Coins waiting"},"graduated":{"type":"boolean","description":"Fills at the pool's price"},"feePct":{"type":"number","description":"Fee per side"},"tierFeePct":{"type":"number","description":"Fee per side for $WOOP holders"},"tier":{"type":"boolean","description":"With ?wallet=: it pays the lower fee"},"history":{"type":"array","items":{"$ref":"#/components/schemas/QueueHistory"},"description":"Every order the queue has had, newest first"}},"required":["spot","quoteDecimals","orders","totalQueued","graduated","feePct","tierFeePct","tier","history"]},"QueueOrder":{"type":"object","description":"Inside `Queue`.","properties":{"slot":{"type":"integer","description":"For cancelling"},"id":{"type":"string","description":"Id"},"seller":{"type":"string","description":"Wallet"},"remaining":{"type":"number","description":"Coins left"},"floor":{"type":"number","description":"Lowest price, pair token per coin"},"floorPct":{"type":"number","description":"Floor against now, %"},"proceeds":{"type":"number","description":"Sold for so far, waiting to be paid"},"mine":{"type":"boolean","description":"With ?wallet=: its own"}},"required":["slot","id","seller","remaining","floor","floorPct","proceeds","mine"]},"QueueHistory":{"type":"object","description":"Inside `Queue`.","properties":{"id":{"type":"string","description":"Id"},"seller":{"type":"string","description":"Wallet"},"mine":{"type":"boolean","description":"With ?wallet=: its own"},"amount":{"type":"number","description":"Coins queued"},"filled":{"type":"number","description":"Coins sold"},"received":{"type":"number","description":"Pair token the seller got"},"floor":{"type":"number","description":"Lowest price, pair token per coin"},"status":{"type":"string","enum":["waiting","filled","partly","cancelled"],"description":"Where it ended (or is)"},"placedAt":{"type":["string","null"],"description":"ISO"},"closedAt":{"type":["string","null"],"description":"ISO, when cancelled"},"slot":{"type":["integer","null"],"description":"Waiting orders: for cancelling"}},"required":["id","seller","mine","amount","filled","received","floor","status","placedAt","closedAt","slot"]},"Position":{"type":"object","description":"One wallet in one coin.","properties":{"wallet":{"type":"string","description":"Wallet"},"amount":{"type":"number","description":"Coins held"},"pct":{"type":"number","description":"Share of supply"},"quoteSymbolMint":{"type":"string","description":"The pair's mint"},"valueQuote":{"type":"number","description":"Holding at the price now"},"valueUsd":{"type":["number","null"],"description":"USD"},"paidQuote":{"type":"number","description":"Spent on buys"},"receivedQuote":{"type":"number","description":"Got from sells"},"pnlQuote":{"type":"number","description":"Profit or loss: value + received − paid"},"pnlUsd":{"type":["number","null"],"description":"USD"},"trades":{"type":"integer","description":"Its trades"},"boughtAmount":{"type":"number","description":"Coins bought"},"soldAmount":{"type":"number","description":"Coins sold"},"since":{"type":["string","null"],"description":"When its holding began"},"quoteUsd":{"type":["number","null"],"description":"The pair's USD price"}},"required":["wallet","amount","pct","quoteSymbolMint","valueQuote","valueUsd","paidQuote","receivedQuote","pnlQuote","pnlUsd","trades","boughtAmount","soldAmount","since","quoteUsd"]},"Payout":{"type":"object","description":"An hourly payout to holders.","properties":{"epoch":{"type":"integer","description":"Its number"},"rewardMint":{"type":"string","description":"What it paid in (the pair token)"},"amount":{"type":"number","description":"Paid in total"},"amountUsd":{"type":["number","null"],"description":"USD"},"holders":{"type":"integer","description":"Holders paid"},"postedAt":{"type":"string","description":"ISO"}},"required":["epoch","rewardMint","amount","amountUsd","holders","postedAt"]},"Event":{"type":"object","description":"Something that happened on the coin besides a plain trade.","properties":{"time":{"type":"integer","description":"Unix seconds"},"kind":{"type":"string","enum":["payout","promoter","fairblock","exit","creator"],"description":"Holder payout, promoter fee, Fair Block settled, Exit Queue fill or creator fees"},"usd":{"type":["number","null"],"description":"How much, USD"},"n":{"type":"integer","description":"Fair Blocks: orders in it"}},"required":["time","kind","usd"]},"Signals":{"type":"object","description":"Rug signals from on-chain history.","properties":{"devFunder":{"type":["string","null"],"description":"The wallet that first funded the creator"},"devFundedByExchange":{"type":"boolean","description":"Funded from an exchange"},"linked":{"$ref":"#/components/schemas/WalletGroup","description":"Holders funded by the creator, or who funded them"},"snipers":{"$ref":"#/components/schemas/WalletGroup","description":"Wallets that bought in the first 10 seconds"},"bundled":{"$ref":"#/components/schemas/WalletGroup","description":"Wallets that bought in the same block as the first trade"},"lock":{"anyOf":[{"$ref":"#/components/schemas/SignalLock"},{"type":"null"}],"description":"A creator lock set at launch (older coins)"},"checked":{"type":"integer","description":"Holders checked"},"holders":{"type":"integer","description":"Holders"}},"required":["devFunder","devFundedByExchange","linked","snipers","bundled","lock","checked","holders"]},"WalletGroup":{"type":"object","description":"Inside `Signals`.","properties":{"wallets":{"type":"array","items":{"type":"string"},"description":"The wallets"},"pct":{"type":"number","description":"Share of supply they hold"}},"required":["wallets","pct"]},"SignalLock":{"type":"object","description":"Inside `Signals`.","properties":{"pct":{"type":"number","description":"Share of supply"},"cliffDays":{"type":"number","description":"Days before it unlocks"},"unlockDays":{"type":"number","description":"Days it unlocks over"}},"required":["pct","cliffDays","unlockDays"]},"Portfolio":{"type":"object","description":"A wallet's woop coins.","properties":{"holdings":{"type":"array","items":{"$ref":"#/components/schemas/Holding"},"description":"Coins it holds or earned from, biggest first"},"totals":{"$ref":"#/components/schemas/PortfolioTotals","description":"Totals"}},"required":["holdings","totals"]},"Holding":{"type":"object","description":"Inside `Portfolio`.","properties":{"coin":{"$ref":"#/components/schemas/Coin","description":"The coin"},"amount":{"type":"number","description":"Coins held"},"pct":{"type":"number","description":"Share of supply"},"valueUsd":{"type":["number","null"],"description":"USD"},"since":{"type":["string","null"],"description":"Holding since"},"earnedQuote":{"type":"number","description":"Paid for holding, pair token"},"earnedUsd":{"type":["number","null"],"description":"USD"},"claimable":{"type":"array","items":{"$ref":"#/components/schemas/Claimable"},"description":"Rewards it can still claim (most are paid automatically)"},"claimableUsd":{"type":["number","null"],"description":"USD"}},"required":["coin","amount","pct","valueUsd","since","earnedQuote","earnedUsd","claimable","claimableUsd"]},"Claimable":{"type":"object","description":"Inside `Holding`.","properties":{"rewardMint":{"type":"string","description":"Paid in"},"amount":{"type":"number","description":"Amount"},"amountUsd":{"type":["number","null"],"description":"USD"}},"required":["rewardMint","amount","amountUsd"]},"PortfolioTotals":{"type":"object","description":"Inside `Portfolio`.","properties":{"valueUsd":{"type":["number","null"],"description":"Holdings, USD"},"earnedUsd":{"type":["number","null"],"description":"Earned, USD"},"claimableUsd":{"type":["number","null"],"description":"Claimable, USD"},"claimableCount":{"type":"integer","description":"Coins with something to claim"},"coins":{"type":"integer","description":"Coins held"}},"required":["valueUsd","earnedUsd","claimableUsd","claimableCount","coins"]},"Me":{"type":"object","description":"Your key and what it launched.","properties":{"wallet":{"type":"string","description":"The key's wallet"},"key":{"$ref":"#/components/schemas/KeyUsage","description":"The key"},"launches":{"type":"array","items":{"$ref":"#/components/schemas/ApiLaunch"},"description":"Coins launched through the API"}},"required":["wallet","key","launches"]},"KeyUsage":{"type":"object","description":"Inside `Me`.","properties":{"prefix":{"type":"string","description":"Its first characters"},"createdAt":{"type":"string","description":"ISO"},"lastUsedAt":{"type":["string","null"],"description":"ISO"},"requests":{"type":"integer","description":"Requests made with it"}},"required":["prefix","createdAt","lastUsedAt","requests"]},"ApiLaunch":{"type":"object","description":"A coin launched through the API.","properties":{"mint":{"type":"string","description":"Its address"},"name":{"type":["string","null"],"description":"Name"},"symbol":{"type":["string","null"],"description":"Ticker"},"launchedAt":{"type":"string","description":"ISO"},"url":{"type":"string","description":"Its page on woop"}},"required":["mint","name","symbol","launchedAt","url"]}}}}