{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"RobinFinite Public Integration API","version":"1.0.0","description":"Read-only public integration surfaces for Robinhood Chain Mainnet 4663. Exact amounts are integer/decimal strings. Pricing, indexed coverage, onchain balance and trading authorization are distinct. This contract does not imply external platform approval."},"servers":[{"url":"https://www.robinfinite.com"}],"security":[],"paths":{"/api/v1/tokens":{"get":{"operationId":"tokens","summary":"Indexed tokens registry","description":"Ascending token-address order. Registration is indexed; tradingStatus is not_checked. Virtual ETH is not actual liquidity. Non-quarantined native indexed tokens only.","tags":["tokens"],"security":[],"parameters":[{"name":"limit","in":"query","required":false,"description":"Records per page, integer query text.","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"after","in":"query","required":false,"description":"Exclusive token-address cursor; also for the markets endpoint.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"address","in":"query","required":false,"description":"Exact token address filter. Mutually exclusive with after.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tokens"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/markets":{"get":{"operationId":"markets","summary":"Indexed markets registry","description":"Ascending token-address order. Registration is indexed; tradingStatus is not_checked. Virtual ETH is not actual liquidity. Non-quarantined native indexed tokens only.","tags":["markets"],"security":[],"parameters":[{"name":"limit","in":"query","required":false,"description":"Records per page, integer query text.","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"after","in":"query","required":false,"description":"Exclusive token-address cursor; also for the markets endpoint.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"address","in":"query","required":false,"description":"Exact market address filter. Mutually exclusive with after.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Markets"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/trades":{"get":{"operationId":"trades","summary":"Indexed native trades","description":"Fee-exclusive native curve execution average; full hot history must reconcile to the native summary. No archive history here. Do not use Portfolio activity cursors.","tags":["trades"],"security":[],"parameters":[{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"limit","in":"query","required":false,"description":"Records per page, integer query text.","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"before","in":"query","required":false,"description":"Descending exclusive cursor; incompatible with after.","schema":{"$ref":"#/components/schemas/TradeCursor"}},{"name":"after","in":"query","required":false,"description":"Ascending exclusive cursor. Incompatible with before.","schema":{"$ref":"#/components/schemas/TradeCursor"}},{"name":"until","in":"query","required":false,"description":"Forward only; inclusive ceiling <= healthy committed Indexer block. If omitted on first forward page, retain snapshotUntilBlock for subsequent pages.","schema":{"type":"string","pattern":"^(0|[1-9][0-9]{0,18})$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trades"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Query ahead of Indexer or detected replacement of the pinned block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/price":{"get":{"operationId":"price","summary":"Latest indexed execution-average price","description":"Returns price=null for a token with no trades. Retained hot history must reconcile. ETH quote, not USD or an executable amount-specific quote.","tags":["price"],"security":[],"parameters":[{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Price"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/ohlcv":{"get":{"operationId":"ohlcv","summary":"Closed native execution-average candles","description":"from < to; at most 1000 whole buckets. Empty buckets omitted; prices and volumes are decimal strings. Requires complete retained hot history.","tags":["ohlcv"],"security":[],"parameters":[{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"interval","in":"query","required":false,"description":"UTC-aligned bucket width.","schema":{"type":"string","enum":["1m","5m","15m","1h","4h","1d"],"default":"1h"}},{"name":"from","in":"query","required":false,"description":"Inclusive Unix seconds, interval aligned. Default: to minus min(1000,floor(86400/period)) buckets.","schema":{"type":"integer","minimum":0,"maximum":4102444800}},{"name":"to","in":"query","required":false,"description":"Exclusive Unix seconds, interval aligned, no later than the current closed bucket boundary. Defaults to that boundary.","schema":{"type":"integer","minimum":0,"maximum":4102444800}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OHLCV"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/coverage":{"get":{"operationId":"coverage","summary":"Retained hot-history reconciliation","description":"Can return incomplete_hot_history without fabricating missing trades. Does not prove full lifetime chain completeness; archiveIncluded=false.","tags":["coverage"],"security":[],"parameters":[{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coverage"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/quote":{"get":{"operationId":"quote","summary":"Pinned native BUY or SELL quote","description":"Canonical factory/market check and pinned block hash recheck. Native fees and buy refund preserved. No signing/broadcast. Requote and simulate before caller signs; SELL approval is caller-owned.","tags":["quote"],"security":[],"parameters":[{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"side","in":"query","required":true,"description":"Case-sensitive BUY or SELL.","schema":{"type":"string","enum":["BUY","SELL"]}},{"name":"amount","in":"query","required":true,"description":"Positive uint256 integer string < 2^256. BUY: gross ETH input in wei; SELL: token amount in 6-decimal smallest units.","schema":{"type":"string","pattern":"^[1-9][0-9]{0,77}$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Query ahead of Indexer or detected replacement of the pinned block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Contract quote reverted or zero output.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Endpoint process-local capacity exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-rate-limit":{"scope":"process","maxActive":2,"maxRequestsPerMinute":30}}},"/api/v1/holdings":{"get":{"operationId":"holdings","summary":"Native indexed wallet holdings","description":"Original native Portfolio reader/curve reference valuation, not a SELL quote. Cost/PnL omitted. Maximum 1000 positions; fails rather than truncating. Indexer status observed separately.","tags":["holdings"],"security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Wallet address, nonzero; no login or signature required.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Holdings"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Endpoint process-local capacity exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-rate-limit":{"scope":"process","sharedEndpoints":["holdings","activity","balance"],"maxActive":2,"maxRequestsPerMinute":60}}},"/api/v1/activity":{"get":{"operationId":"activity","summary":"Native wallet BUY/SELL history","description":"Native descending pagination and verified archive merge. Archive unavailable => 503, not partial hot-only success. Indexer status is a separate observation.","tags":["activity"],"security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Wallet address, nonzero; no login or signature required.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"limit","in":"query","required":false,"description":"Native page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","required":false,"description":"Opaque native Portfolio activity cursor from nextCursor. URL encode; do not construct a trade-feed block:log cursor.","schema":{"type":"string","minLength":1,"maxLength":512}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityPage"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Endpoint process-local capacity exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-rate-limit":{"scope":"process","sharedEndpoints":["holdings","activity","balance"],"maxActive":2,"maxRequestsPerMinute":60}}},"/api/v1/balance":{"get":{"operationId":"balance","summary":"Pinned onchain wallet token balance","description":"One visible registered token. Canonical identity, balanceOf at block.number, block hash recheck. Indexed and chain values have independent snapshot times; differs is not proof of corruption.","tags":["balance"],"security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Wallet address, nonzero; no login or signature required.","schema":{"$ref":"#/components/schemas/Address"}},{"name":"token","in":"query","required":true,"description":"Robin token address on chain 4663.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Query ahead of Indexer or detected replacement of the pinned block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Endpoint process-local capacity exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-rate-limit":{"scope":"process","sharedEndpoints":["holdings","activity","balance"],"maxActive":2,"maxRequestsPerMinute":60}}},"/api/v1/project":{"get":{"operationId":"project","summary":"Public project identity","description":"Project profile and native artwork links. API availability does not imply external platform listing.","tags":["project"],"security":[],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/token-metadata":{"get":{"operationId":"token_metadata","summary":"Native indexed token identity and metadata","description":"Native inline JSON metadata parser. Missing/unsupported/invalid metadata is explicit. Does not fetch arbitrary remote metadata; token image is not replaced with project logo.","tags":["token-metadata"],"security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Token address.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenMetadata"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/token-list":{"get":{"operationId":"token_list","summary":"Versioned native full token list","description":"Native registered token scope, checksum addresses and 6 decimals. Maximum 10000 tokens; source/output size limits fail closed. Optional per-token logoURI. Publishes version-cache files, not database rows; no signing. Does not automatically register prices with wallets.","tags":["token-list"],"security":[],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenList"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/project/logo":{"get":{"operationId":"project_logo","summary":"Unchanged native project artwork","description":"","tags":["project"],"security":[],"parameters":[{"name":"format","in":"query","required":false,"description":"SVG or transparent 512x512 PNG.","schema":{"type":"string","enum":["svg","png"],"default":"svg"}}],"responses":{"200":{"description":"Native project image. Cache-Control: public, max-age=300.","content":{"image/svg+xml":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/token-logo":{"get":{"operationId":"token_logo","summary":"Native token image or redirect","description":"No placeholder project logo. Bounded native inline image or 302 redirect to resolved image URI.","tags":["token-logo"],"security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Token address.","schema":{"$ref":"#/components/schemas/Address"}}],"responses":{"200":{"description":"Native inline token image.","content":{"image/svg+xml":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/gif":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"302":{"description":"Resolved external image URI; response has no body.","headers":{"Location":{"schema":{"type":"string"},"description":"Resolved token image URI."}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Token not available in the indexed registry or requested logo missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Unavailable data or dependency; no fabricated zero values or partial success.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/sdk":{"get":{"operationId":"sdk","summary":"Download SDK 0.4.0","description":"ES module requiring viem. No npm publication, private keys, signing or broadcast. Use a compatible EventSource in Node. Cache-Control: no-cache.","tags":["sdk"],"security":[],"parameters":[],"responses":{"200":{"description":"JavaScript ES module.","content":{"text/javascript":{"schema":{"type":"string"}}}}}}},"/api/v1/events":{"get":{"operationId":"events","summary":"Native shared SSE notifications","description":"Global visible token scope; no filters. ready/new-token/new-trade/price-update/recovery-required/status. Initial ready seeds the current committed boundary; no history replay or Last-Event-ID semantics. Persist checkpoints and REST after catch-up plus registry resync on reconnect; heartbeat comments are not data events. Not a WebSocket or a full reorg rollback feed.","tags":["events"],"security":[],"parameters":[],"responses":{"200":{"description":"SSE text frames with event and JSON data fields. No SSE id. May remain connected while status reports temporary dependency failure.","headers":{"X-Robin-Stream-Replay":{"schema":{"const":"none-use-rest"}}},"content":{"text/event-stream":{"schema":{"type":"string"},"example":"event: status\ndata: {\"status\":\"temporarily-unavailable\",\"recovery\":\"retain-checkpoint-and-retry\",\"chainId\":4663}\n\n"}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Endpoint process-local capacity exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-stream-replay":"none-use-rest","x-max-connections-per-process":64,"x-sse-event-names":["ready","new-token","new-trade","price-update","recovery-required","status"]}},"/api/v1/openapi":{"get":{"operationId":"openapi","summary":"Download the public OpenAPI 3.1 contract","description":"Static interface contract. No DB/RPC access. Rejects query parameters. Cache-Control: no-cache.","tags":["openapi"],"security":[],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAPIDocument"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integration-manifest":{"get":{"operationId":"integration_manifest","summary":"Unified integration review manifest","description":"Static integration links and clearly scoped operator-reported live acceptance evidence. Contains the SHA-256 of the OpenAPI HTTP JSON bytes. No keys, private provider URLs, DB queries or platform submission. Cache-Control: no-cache.","tags":["integration-manifest"],"security":[],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationManifest"}}}},"400":{"description":"Invalid input, duplicate or unknown query keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"UintString":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Non-negative integer encoded as a string. Keep integer precision; do not parse monetary values as JavaScript Number."},"WeiString":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"ETH smallest units: 10^18 wei = 1 ETH. Integer string."},"DecimalString":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","description":"Exact decimal text, not a floating-point JSON number."},"Address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"EVM address; mixed-case checksums must be valid where checked by viem."},"Hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},"Error":{"type":"object","properties":{"error":{"type":"string","description":"Endpoint-specific redacted error identifier. No credentials or provider URL."}},"required":["error"]},"Creation":{"type":"object","properties":{"blockNumber":{"$ref":"#/components/schemas/UintString"},"blockHash":{"$ref":"#/components/schemas/Hash"},"transactionHash":{"$ref":"#/components/schemas/Hash"},"logIndex":{"$ref":"#/components/schemas/UintString"},"timestamp":{"$ref":"#/components/schemas/UintString"}},"required":["blockNumber","blockHash","transactionHash","logIndex","timestamp"]},"Metadata":{"type":"object","properties":{"status":{"type":"string","enum":["missing","too_large","unsupported_uri","parsed_native","invalid"]},"description":{"type":"string"},"imageUri":{"anyOf":[{"type":"string"},{"type":"null"}]},"logoURI":{"anyOf":[{"type":"string"},{"type":"null"}]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"social":{"type":"object","properties":{"x":{"anyOf":[{"type":"string"},{"type":"null"}]},"telegram":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["x","telegram"]}},"required":["status","description","imageUri","logoURI","website","social"]},"Token":{"type":"object","properties":{"chainId":{"const":4663},"factoryAddress":{"$ref":"#/components/schemas/Address"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"creatorAddress":{"$ref":"#/components/schemas/Address"},"creation":{"$ref":"#/components/schemas/Creation"},"registrationStatus":{"const":"indexed"},"tradingStatus":{"const":"not_checked"},"tradeUrl":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":0,"maximum":255},"metadataUri":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"$ref":"#/components/schemas/Metadata"}},"required":["chainId","factoryAddress","tokenAddress","marketAddress","creatorAddress","creation","registrationStatus","tradingStatus","tradeUrl","name","symbol","decimals","metadataUri","metadata"]},"Market":{"type":"object","properties":{"chainId":{"const":4663},"factoryAddress":{"$ref":"#/components/schemas/Address"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"creatorAddress":{"$ref":"#/components/schemas/Address"},"creation":{"$ref":"#/components/schemas/Creation"},"registrationStatus":{"const":"indexed"},"tradingStatus":{"const":"not_checked"},"tradeUrl":{"type":"string"},"marketType":{"const":"permanent_bonding_curve"},"baseAsset":{"type":"object","properties":{"chainId":{"const":4663},"address":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":0,"maximum":255}},"required":["chainId","address","name","symbol","decimals"]},"quoteAsset":{"type":"object","properties":{"chainId":{"const":4663},"kind":{"const":"native"},"address":{"type":"null"},"name":{"const":"Ether"},"symbol":{"const":"ETH"},"decimals":{"const":18}},"required":["chainId","kind","address","name","symbol","decimals"]},"templateId":{"type":"integer","minimum":0},"virtualEthWei":{"$ref":"#/components/schemas/WeiString"},"accountedReserveWei":{"type":"null","description":"Not inferred from virtual curve reserves."},"summary":{"type":"object","properties":{"totalTradeCount":{"$ref":"#/components/schemas/UintString"},"totalCurveEthWei":{"$ref":"#/components/schemas/WeiString"},"totalUserEthWei":{"$ref":"#/components/schemas/WeiString"},"lastTokensSoldRaw":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]},"lastTradeBlock":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]}},"required":["totalTradeCount","totalCurveEthWei","totalUserEthWei","lastTokensSoldRaw","lastTradeBlock"]}},"required":["chainId","factoryAddress","tokenAddress","marketAddress","creatorAddress","creation","registrationStatus","tradingStatus","tradeUrl","marketType","baseAsset","quoteAsset","templateId","virtualEthWei","accountedReserveWei","summary"]},"Tokens":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Token"}},"nextCursor":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}]}},"required":["schemaVersion","chainId","retrievedAtTimestamp","data","nextCursor"]},"Markets":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Market"}},"nextCursor":{"anyOf":[{"$ref":"#/components/schemas/Address"},{"type":"null"}]}},"required":["schemaVersion","chainId","retrievedAtTimestamp","data","nextCursor"]},"Trade":{"type":"object","properties":{"type":{"type":"string","enum":["buy","sell"]},"blockNumber":{"$ref":"#/components/schemas/UintString"},"blockHash":{"$ref":"#/components/schemas/Hash"},"transactionHash":{"$ref":"#/components/schemas/Hash"},"logIndex":{"$ref":"#/components/schemas/UintString"},"timestamp":{"$ref":"#/components/schemas/UintString"},"traderAddress":{"$ref":"#/components/schemas/Address"},"qBeforeRaw":{"$ref":"#/components/schemas/UintString"},"qAfterRaw":{"$ref":"#/components/schemas/UintString"},"tokenAmountRaw":{"$ref":"#/components/schemas/UintString"},"curveEthWei":{"$ref":"#/components/schemas/WeiString"},"userEthWei":{"$ref":"#/components/schemas/WeiString"},"protocolFeeWei":{"$ref":"#/components/schemas/WeiString"},"creatorFeeWei":{"$ref":"#/components/schemas/WeiString"},"curveAveragePriceWei":{"$ref":"#/components/schemas/WeiString"},"priceEth":{"$ref":"#/components/schemas/DecimalString"}},"required":["type","blockNumber","blockHash","transactionHash","logIndex","timestamp","traderAddress","qBeforeRaw","qAfterRaw","tokenAmountRaw","curveEthWei","userEthWei","protocolFeeWei","creatorFeeWei","curveAveragePriceWei","priceEth"],"description":"Fee-exclusive average curve execution price. BUY userEthWei follows native gross-used semantics; SELL follows native net-output semantics. The activity endpoint uses its own native DTO."},"PriceObservation":{"type":"object","properties":{"priceEth":{"$ref":"#/components/schemas/DecimalString"},"curveAveragePriceWei":{"$ref":"#/components/schemas/WeiString"},"timestamp":{"$ref":"#/components/schemas/UintString"},"blockNumber":{"$ref":"#/components/schemas/UintString"},"blockHash":{"$ref":"#/components/schemas/Hash"},"transactionHash":{"$ref":"#/components/schemas/Hash"},"logIndex":{"$ref":"#/components/schemas/UintString"}},"required":["priceEth","curveAveragePriceWei","timestamp","blockNumber","blockHash","transactionHash","logIndex"]},"Price":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"quoteCurrency":{"const":"ETH"},"tokenDecimals":{"type":"integer","minimum":0,"maximum":255},"priceType":{"const":"curve_execution_average"},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"historyCoverage":{"const":"complete_hot_history"},"lifetimeTradeCount":{"$ref":"#/components/schemas/UintString"},"price":{"anyOf":[{"$ref":"#/components/schemas/PriceObservation"},{"type":"null"}]}},"required":["schemaVersion","chainId","tokenAddress","marketAddress","quoteCurrency","tokenDecimals","priceType","retrievedAtTimestamp","historyCoverage","lifetimeTradeCount","price"],"description":"Latest indexed execution-average price; null when no trade. Not a marginal spot quote, a guaranteed SELL quote or USD price."},"TradeCursor":{"type":"string","pattern":"^(0|[1-9][0-9]{0,19}):(0|[1-9][0-9]{0,9})$","description":"blockNumber:globalLogIndex. Block <= 9223372036854775807, log <= 2147483647. Exclusive boundary."},"IndexerMark":{"type":"object","properties":{"blockNumber":{"$ref":"#/components/schemas/UintString"},"blockHash":{"$ref":"#/components/schemas/Hash"},"lastCycleCompletedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["blockNumber","blockHash","lastCycleCompletedAt"]},"Trades":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"quoteCurrency":{"const":"ETH"},"tokenDecimals":{"type":"integer","minimum":0,"maximum":255},"priceType":{"const":"curve_execution_average"},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"historyCoverage":{"const":"complete_hot_history"},"lifetimeTradeCount":{"$ref":"#/components/schemas/UintString"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}},"nextCursor":{"anyOf":[{"$ref":"#/components/schemas/TradeCursor"},{"type":"null"}]},"direction":{"const":"forward"},"hasMore":{"type":"boolean"},"resumeCursor":{"$ref":"#/components/schemas/TradeCursor"},"snapshotUntilBlock":{"$ref":"#/components/schemas/UintString"},"indexer":{"$ref":"#/components/schemas/IndexerMark"}},"required":["schemaVersion","chainId","tokenAddress","marketAddress","quoteCurrency","tokenDecimals","priceType","retrievedAtTimestamp","historyCoverage","lifetimeTradeCount","data","nextCursor"],"description":"Default/before pages are descending and do not contain direction/hasMore/resumeCursor/snapshotUntilBlock/indexer. after pages are ascending and include all these forward-only fields. Pin until across a catch-up run; archive is not included."},"Candle":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/UintString"},"open":{"$ref":"#/components/schemas/DecimalString"},"high":{"$ref":"#/components/schemas/DecimalString"},"low":{"$ref":"#/components/schemas/DecimalString"},"close":{"$ref":"#/components/schemas/DecimalString"},"tokenVolume":{"$ref":"#/components/schemas/DecimalString"},"curveVolumeEth":{"$ref":"#/components/schemas/DecimalString"},"userVolumeEth":{"$ref":"#/components/schemas/DecimalString"},"tokenVolumeRaw":{"$ref":"#/components/schemas/UintString"},"curveVolumeWei":{"$ref":"#/components/schemas/WeiString"},"userVolumeWei":{"$ref":"#/components/schemas/WeiString"},"tradeCount":{"$ref":"#/components/schemas/UintString"}},"required":["timestamp","open","high","low","close","tokenVolume","curveVolumeEth","userVolumeEth","tokenVolumeRaw","curveVolumeWei","userVolumeWei","tradeCount"]},"OHLCV":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"quoteCurrency":{"const":"ETH"},"tokenDecimals":{"type":"integer","minimum":0,"maximum":255},"priceType":{"const":"curve_execution_average"},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"historyCoverage":{"const":"complete_hot_history"},"lifetimeTradeCount":{"$ref":"#/components/schemas/UintString"},"interval":{"type":"string","enum":["1m","5m","15m","1h","4h","1d"]},"from":{"$ref":"#/components/schemas/UintString"},"to":{"$ref":"#/components/schemas/UintString"},"emptyCandles":{"const":"omitted"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}},"required":["schemaVersion","chainId","tokenAddress","marketAddress","quoteCurrency","tokenDecimals","priceType","retrievedAtTimestamp","historyCoverage","lifetimeTradeCount","interval","from","to","emptyCandles","data"],"description":"Closed UTC-aligned candles, interval [from,to); at most 1000 buckets. Empty candles omitted. No synthetic forward-filled prices."},"CoverageIndexer":{"oneOf":[{"type":"object","properties":{"available":{"const":false}},"required":["available"]},{"type":"object","properties":{"available":{"const":true},"healthy":{"type":"boolean"},"blockNumber":{"$ref":"#/components/schemas/UintString"},"blockHash":{"$ref":"#/components/schemas/Hash"},"lastCycleCompletedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["available","healthy","blockNumber","blockHash","lastCycleCompletedAt"]}]},"Coverage":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"quoteCurrency":{"const":"ETH"},"tokenDecimals":{"type":"integer","minimum":0,"maximum":255},"priceType":{"const":"curve_execution_average"},"retrievedAtTimestamp":{"$ref":"#/components/schemas/UintString"},"historyCoverage":{"type":"string","enum":["complete_hot_history","incomplete_hot_history"]},"lifetimeTradeCount":{"$ref":"#/components/schemas/UintString"},"coverageBasis":{"const":"indexed_summary_count_and_volume_reconciliation"},"hotTradeCount":{"$ref":"#/components/schemas/UintString"},"totals":{"type":"object","properties":{"lifetime":{"type":"object","properties":{"tokenAmountRaw":{"$ref":"#/components/schemas/UintString"},"curveEthWei":{"$ref":"#/components/schemas/WeiString"},"userEthWei":{"$ref":"#/components/schemas/WeiString"}},"required":["tokenAmountRaw","curveEthWei","userEthWei"]},"retained":{"type":"object","properties":{"tokenAmountRaw":{"$ref":"#/components/schemas/UintString"},"curveEthWei":{"$ref":"#/components/schemas/WeiString"},"userEthWei":{"$ref":"#/components/schemas/WeiString"}},"required":["tokenAmountRaw","curveEthWei","userEthWei"]}},"required":["lifetime","retained"]},"retainedRange":{"type":"object","properties":{"firstBlockNumber":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]},"lastBlockNumber":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]},"firstTimestamp":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]},"lastTimestamp":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]}},"required":["firstBlockNumber","lastBlockNumber","firstTimestamp","lastTimestamp"]},"indexer":{"$ref":"#/components/schemas/CoverageIndexer"},"archiveIncluded":{"const":false},"chainCompletenessVerified":{"const":false},"canQueryFullIndexedHistory":{"type":"boolean"}},"required":["schemaVersion","chainId","tokenAddress","marketAddress","quoteCurrency","tokenDecimals","priceType","retrievedAtTimestamp","historyCoverage","lifetimeTradeCount","coverageBasis","hotTradeCount","totals","retainedRange","indexer","archiveIncluded","chainCompletenessVerified","canQueryFullIndexedHistory"],"description":"Completeness compares native indexed summary with retained hot trades, not independent full-chain proof. Public Portfolio activity separately includes verified archive batches."},"Block":{"type":"object","properties":{"number":{"$ref":"#/components/schemas/UintString"},"hash":{"$ref":"#/components/schemas/Hash"},"timestamp":{"$ref":"#/components/schemas/UintString"}},"required":["number","hash","timestamp"]},"BuyQuote":{"type":"object","properties":{"qBeforeRaw":{"$ref":"#/components/schemas/UintString"},"qAfterRaw":{"$ref":"#/components/schemas/UintString"},"tokensOutRaw":{"$ref":"#/components/schemas/UintString"},"grossInputWei":{"$ref":"#/components/schemas/WeiString"},"grossUsedWei":{"$ref":"#/components/schemas/WeiString"},"curveCostWei":{"$ref":"#/components/schemas/WeiString"},"protocolFeeWei":{"$ref":"#/components/schemas/WeiString"},"creatorFeeWei":{"$ref":"#/components/schemas/WeiString"},"totalFeeWei":{"$ref":"#/components/schemas/WeiString"},"refundWei":{"$ref":"#/components/schemas/WeiString"}},"required":["qBeforeRaw","qAfterRaw","tokensOutRaw","grossInputWei","grossUsedWei","curveCostWei","protocolFeeWei","creatorFeeWei","totalFeeWei","refundWei"]},"SellQuote":{"type":"object","properties":{"qBeforeRaw":{"$ref":"#/components/schemas/UintString"},"qAfterRaw":{"$ref":"#/components/schemas/UintString"},"tokenInRaw":{"$ref":"#/components/schemas/UintString"},"grossRefundWei":{"$ref":"#/components/schemas/WeiString"},"protocolFeeWei":{"$ref":"#/components/schemas/WeiString"},"creatorFeeWei":{"$ref":"#/components/schemas/WeiString"},"totalFeeWei":{"$ref":"#/components/schemas/WeiString"},"netETHOutWei":{"$ref":"#/components/schemas/WeiString"}},"required":["qBeforeRaw","qAfterRaw","tokenInRaw","grossRefundWei","protocolFeeWei","creatorFeeWei","totalFeeWei","netETHOutWei"]},"Quote":{"oneOf":[{"type":"object","properties":{"chainId":{"const":4663},"factoryAddress":{"$ref":"#/components/schemas/Address"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"inputAmountRaw":{"$ref":"#/components/schemas/UintString"},"block":{"$ref":"#/components/schemas/Block"},"execution":{"const":"requote-and-simulate-before-signing"},"side":{"const":"BUY"},"inputDecimals":{"const":18},"outputDecimals":{"const":6},"quote":{"$ref":"#/components/schemas/BuyQuote"}},"required":["chainId","factoryAddress","tokenAddress","marketAddress","inputAmountRaw","block","execution","side","inputDecimals","outputDecimals","quote"]},{"type":"object","properties":{"chainId":{"const":4663},"factoryAddress":{"$ref":"#/components/schemas/Address"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"inputAmountRaw":{"$ref":"#/components/schemas/UintString"},"block":{"$ref":"#/components/schemas/Block"},"execution":{"const":"requote-and-simulate-before-signing"},"side":{"const":"SELL"},"inputDecimals":{"const":6},"outputDecimals":{"const":18},"quote":{"$ref":"#/components/schemas/SellQuote"}},"required":["chainId","factoryAddress","tokenAddress","marketAddress","inputAmountRaw","block","execution","side","inputDecimals","outputDecimals","quote"]}]},"PortfolioIndexer":{"type":"object","properties":{"available":{"type":"boolean"},"healthy":{"type":"boolean"},"blockNumber":{"anyOf":[{"$ref":"#/components/schemas/UintString"},{"type":"null"}]},"completedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"observedAt":{"type":"string"},"observationScope":{"const":"separate_read_after_portfolio"},"sameSnapshotAsPortfolio":{"const":false}},"required":["available","healthy","blockNumber","completedAt","observedAt","observationScope","sameSnapshotAsPortfolio"]},"Holding":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"const":6},"balanceRaw":{"$ref":"#/components/schemas/UintString"},"currentPriceWeiPerToken":{"$ref":"#/components/schemas/WeiString"},"currentValueWei":{"$ref":"#/components/schemas/WeiString"}},"required":["tokenAddress","marketAddress","name","symbol","decimals","balanceRaw","currentPriceWeiPerToken","currentValueWei"],"description":"Native Portfolio curve reference: currentPriceWeiPerToken is wei per whole token, currentValueWei in wei. Original cost/PnL fields deliberately omitted."},"Holdings":{"type":"object","properties":{"chainId":{"const":4663},"walletAddress":{"$ref":"#/components/schemas/Address"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Holding"}},"totalCurrentValueWei":{"$ref":"#/components/schemas/WeiString"},"quantitySource":{"const":"native_indexed_wallet_balances"},"valuationType":{"const":"native_portfolio_curve_reference"},"quoteAsset":{"type":"object","properties":{"kind":{"const":"native"},"symbol":{"const":"ETH"},"decimals":{"const":18}},"required":["kind","symbol","decimals"]},"maxRecords":{"const":1000},"chainCompletenessVerified":{"const":false},"indexer":{"$ref":"#/components/schemas/PortfolioIndexer"},"dataStatus":{"type":"string","enum":["indexed","indexer_unhealthy_or_unknown"]},"valuationIsExecutableQuote":{"const":false}},"required":["chainId","walletAddress","data","totalCurrentValueWei","quantitySource","valuationType","quoteAsset","maxRecords","chainCompletenessVerified","indexer","dataStatus","valuationIsExecutableQuote"]},"ActivityRecord":{"type":"object","properties":{"id":{"type":"string"},"chainId":{"const":"4663"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"blockNumber":{"$ref":"#/components/schemas/UintString"},"logIndex":{"type":"integer","minimum":0,"maximum":2147483647},"transactionHash":{"$ref":"#/components/schemas/Hash"},"tradeType":{"type":"string","enum":["BUY","SELL"]},"tokenAmountRaw":{"$ref":"#/components/schemas/UintString"},"userEthWei":{"$ref":"#/components/schemas/WeiString"},"blockTimestamp":{"type":"string","description":"Native PostgreSQL timestamp text; not a Unix integer timestamp."},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"tokenDecimals":{"type":"integer","minimum":0,"maximum":255}},"required":["id","chainId","tokenAddress","marketAddress","blockNumber","logIndex","transactionHash","tradeType","tokenAmountRaw","userEthWei","blockTimestamp","tokenName","tokenSymbol","tokenDecimals"]},"ActivityPage":{"type":"object","properties":{"chainId":{"const":4663},"walletAddress":{"$ref":"#/components/schemas/Address"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ActivityRecord"}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":100},"order":{"const":"descending"},"cursorFormat":{"const":"native_portfolio_activity_v1"},"scope":{"const":"native_buy_sell_activity"},"archiveIncluded":{"const":true},"archivePolicy":{"const":"native_verified_batches"},"chainCompletenessVerified":{"const":false},"indexer":{"$ref":"#/components/schemas/PortfolioIndexer"},"dataStatus":{"type":"string","enum":["indexed","indexer_unhealthy_or_unknown"]},"units":{"type":"object","properties":{"tokenAmountRaw":{"const":"token_smallest_unit"},"userEthWei":{"const":"wei"}},"required":["tokenAmountRaw","userEthWei"]}},"required":["chainId","walletAddress","data","nextCursor","hasMore","limit","order","cursorFormat","scope","archiveIncluded","archivePolicy","chainCompletenessVerified","indexer","dataStatus","units"],"description":"BUY/SELL attributed to the native trader only. Hot-first and verified archive-second, native deduplication and opaque base64url cursor. Not transfers, approvals, creation records or every wallet transaction."},"Balance":{"type":"object","properties":{"chainId":{"const":4663},"walletAddress":{"$ref":"#/components/schemas/Address"},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"decimals":{"const":6},"balanceRaw":{"$ref":"#/components/schemas/UintString"},"quantitySource":{"const":"onchain_balanceOf"},"block":{"$ref":"#/components/schemas/Block"},"indexedBalanceRaw":{"$ref":"#/components/schemas/UintString"},"comparison":{"type":"string","enum":["matches","differs"]},"comparisonScope":{"const":"independently_observed_indexed_and_chain_balances"},"sameSnapshot":{"const":false},"indexer":{"$ref":"#/components/schemas/PortfolioIndexer"}},"required":["chainId","walletAddress","tokenAddress","marketAddress","decimals","balanceRaw","quantitySource","block","indexedBalanceRaw","comparison","comparisonScope","sameSnapshot","indexer"]},"TokenMetadata":{"type":"object","properties":{"schemaVersion":{"const":"1"},"chainId":{"const":4663},"tokenAddress":{"$ref":"#/components/schemas/Address"},"marketAddress":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":0,"maximum":255},"metadataUri":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata":{"$ref":"#/components/schemas/Metadata"},"tradeUrl":{"type":"string"},"registrationStatus":{"const":"indexed"}},"required":["schemaVersion","chainId","tokenAddress","marketAddress","name","symbol","decimals","metadataUri","metadata","tradeUrl","registrationStatus"]},"TokenListEntry":{"type":"object","properties":{"chainId":{"const":4663},"address":{"$ref":"#/components/schemas/Address"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"const":6},"logoURI":{"type":"string"}},"required":["chainId","address","name","symbol","decimals"]},"TokenList":{"type":"object","properties":{"name":{"const":"RobinFinite Tokens"},"timestamp":{"type":"string"},"version":{"type":"object","properties":{"major":{"type":"integer","minimum":0},"minor":{"type":"integer","minimum":0},"patch":{"type":"integer","minimum":0}},"required":["major","minor","patch"]},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/TokenListEntry"}},"logoURI":{"type":"string"},"keywords":{"type":"array","items":{"type":"string"}}},"required":["name","timestamp","version","tokens","logoURI","keywords"]},"Project":{"type":"object","properties":{"schemaVersion":{"const":"1"},"name":{"const":"RobinFinite"},"website":{"type":"string"},"description":{"type":"string"},"socials":{"type":"object","properties":{"x":{"type":"string"}},"required":["x"]},"chain":{"type":"object","properties":{"id":{"const":4663},"name":{"type":"string"},"nativeAsset":{"type":"object","properties":{"name":{"const":"Ether"},"symbol":{"const":"ETH"},"decimals":{"const":18},"address":{"type":"null"}},"required":["name","symbol","decimals","address"]}},"required":["id","name","nativeAsset"]},"factoryAddress":{"$ref":"#/components/schemas/Address"},"marketType":{"const":"permanent_bonding_curve"},"logos":{"type":"object","properties":{"svg":{"type":"string"},"png":{"type":"string"}},"required":["svg","png"]},"documentation":{"type":"object","properties":{"integrations":{"type":"string"},"developers":{"type":"string"}},"required":["integrations","developers"]},"apis":{"type":"object","additionalProperties":{"type":"string"}},"integrationStatus":{"type":"object","properties":{"geckoTerminal":{"const":"candidate_adapter_not_submitted"},"otherPlatforms":{"const":"not_submitted"}},"required":["geckoTerminal","otherPlatforms"]}},"required":["schemaVersion","name","website","description","socials","chain","factoryAddress","marketType","logos","documentation","apis","integrationStatus"]},"IntegrationManifest":{"type":"object","properties":{"schemaVersion":{"const":"1"},"project":{"const":"RobinFinite"},"chainId":{"const":4663},"website":{"type":"string"},"factoryAddress":{"$ref":"#/components/schemas/Address"},"marketType":{"const":"permanent_bonding_curve"},"documentation":{"type":"object"},"openapi":{"type":"object","properties":{"url":{"type":"string"},"version":{"const":"1.0.0"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sha256Scope":{"const":"HTTP JSON response bytes"}},"required":["url","version","sha256","sha256Scope"]},"sdk":{"type":"object","properties":{"url":{"type":"string"},"version":{"const":"0.4.0"},"npmPublished":{"const":false},"signingAndBroadcast":{"const":"caller_owned"}},"required":["url","version","npmPublished","signingAndBroadcast"]},"endpoints":{"type":"object","additionalProperties":{"type":"string"}},"dataSemantics":{"type":"object"},"platforms":{"type":"object"},"acceptanceEvidence":{"type":"object"},"externalDiscoveryAcceptance":{"const":"pending_platform_submission_and_listing"}},"required":["schemaVersion","project","chainId","website","factoryAddress","marketType","documentation","openapi","sdk","endpoints","dataSemantics","platforms","acceptanceEvidence","externalDiscoveryAcceptance"]},"OpenAPIDocument":{"type":"object","properties":{"openapi":{"const":"3.1.0"},"info":{"type":"object"},"servers":{"type":"array","items":{"type":"object"}},"paths":{"type":"object"},"components":{"type":"object"}},"required":["openapi","info","paths"]}}},"x-sdk-version":"0.4.0","x-private-apis-excluded":true}