{"openapi":"3.1.0","info":{"title":"RWA xyz (BYOK) API","version":"0.1.0","description":"RWA xyz (BYOK) lets an AI assistant read your own RWA xyz data through the RWA xyz API with a key you supply (RWA.xyz API key). Read-only: 11 tools (list_assets, get_asset, list_tokens, get_token, list_networks, list_platforms, list_issuers, list_managers, list_service_providers, get_field_metadata, get_aggregate_timeseries). The BYOK key travels with each request, is used for that one call only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-rwa.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rwa/docs"},"termsOfService":"https://connectorbay.com/byok-rwa/terms"},"servers":[{"url":"https://byok-rwa.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rwa/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_assets":{"post":{"operationId":"list_assets","summary":"List tokenized real-world assets (US treasuries, stablecoins, private credit, funds and more) with issuer, asset class, ","description":"List tokenized real-world assets (US treasuries, stablecoins, private credit, funds and more) with issuer, asset class, networks, market value, yield and APY. Use for \"Which tokenized US treasury products have the largest market value\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"ticker":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only the asset with this ticker, for example 'USDC'.","title":"Ticker"},"asset_class_name":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Only this asset class, for example 'US Treasury Debt' or 'Stablecoins'.","title":"Asset Class Name"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_assetsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_asset":{"post":{"operationId":"get_asset","summary":"Get one tokenized asset by id with its full record (issuer, regulation, fees, custody, supply and market metrics). Use f","description":"Get one tokenized asset by id with its full record (issuer, regulation, fees, custody, supply and market metrics). Use for \"Show the full record of RWA.xyz asset 51\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_id":{"description":"RWA.xyz asset id (see list_assets).","maxLength":200,"title":"Asset Id","type":"string"}},"required":["asset_id"],"title":"get_assetArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tokens":{"post":{"operationId":"list_tokens","summary":"List on-chain tokens of tokenized assets with contract address, network, platform, supply, price, market value and holde","description":"List on-chain tokens of tokenized assets with contract address, network, platform, supply, price, market value and holders. Use for \"Which tokenized treasury tokens exist on Ethereum and how big are they\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"network_name":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only tokens on this network, for example 'Ethereum'.","title":"Network Name"},"protocol_name":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only tokens on this platform, for example 'Ondo'.","title":"Protocol Name"},"issuance_type":{"anyOf":[{"enum":["NATIVE","BRIDGE"],"type":"string"},{"type":"null"}],"default":null,"description":"NATIVE or BRIDGE.","title":"Issuance Type"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_tokensArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_token":{"post":{"operationId":"get_token","summary":"Get one on-chain token by id with its full record. Use for \"Show the full record of RWA.xyz token 20\".","description":"Get one on-chain token by id with its full record. Use for \"Show the full record of RWA.xyz token 20\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"token_id":{"description":"RWA.xyz token id (see list_tokens).","maxLength":200,"title":"Token Id","type":"string"}},"required":["token_id"],"title":"get_tokenArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_networks":{"post":{"operationId":"list_networks","summary":"List the blockchain networks where tokenized assets are deployed with token counts, bridged value, holders and mint volu","description":"List the blockchain networks where tokenized assets are deployed with token counts, bridged value, holders and mint volume. Use for \"Which networks host the most tokenized real-world assets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_networksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_platforms":{"post":{"operationId":"list_platforms","summary":"List tokenization platforms (for example Securitize, Ondo, Centrifuge) with asset counts, circulating value, holders and","description":"List tokenization platforms (for example Securitize, Ondo, Centrifuge) with asset counts, circulating value, holders and mint volume. Use for \"Which tokenization platforms hold the most value\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_platformsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_issuers":{"post":{"operationId":"list_issuers","summary":"List issuers of tokenized assets with legal name, country, structure and supply or holder statistics. Use for \"Which iss","description":"List issuers of tokenized assets with legal name, country, structure and supply or holder statistics. Use for \"Which issuers have the most tokenized assets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_issuersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_managers":{"post":{"operationId":"list_managers","summary":"List asset managers of tokenized funds with assets managed, value and holder statistics. Use for \"Which asset managers r","description":"List asset managers of tokenized funds with assets managed, value and holder statistics. Use for \"Which asset managers run the most tokenized funds\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_managersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_service_providers":{"post":{"operationId":"list_service_providers","summary":"List service providers behind tokenized assets (custodians, auditors, fund administrators, transfer agents) with their r","description":"List service providers behind tokenized assets (custodians, auditors, fund administrators, transfer agents) with their roles. Use for \"Which custodians and auditors work with tokenized assets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free-text search across common fields such as name and ticker.","title":"Search"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (the API default is 25).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example 'name' (see get_field_metadata for valid fields).","title":"Sort"},"sort_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"query":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"default":null,"description":"Advanced JSON query object with filter, sort, pagination and aggregate blocks, for example {\"filter\":{\"operator\":\"equals\",\"field\":\"ticker\",\"value\":\"USDC\"}}. Overrides the simple parameters.","title":"Query"}},"title":"list_service_providersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_field_metadata":{"post":{"operationId":"get_field_metadata","summary":"Discover the fields, filter operators and allowed values for one RWA.xyz resource; use it to build the advanced query pa","description":"Discover the fields, filter operators and allowed values for one RWA.xyz resource; use it to build the advanced query parameter. Use for \"Which fields can I filter tokenized assets by\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource":{"description":"Resource to describe.","enum":["assets","tokens","networks","platforms","issuers","managers","service-providers"],"title":"Resource","type":"string"}},"required":["resource"],"title":"get_field_metadataArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_aggregate_timeseries":{"post":{"operationId":"get_aggregate_timeseries","summary":"Get a historical timeseries of aggregated asset or token metrics (supply, value, holders, mints) grouped by asset, token","description":"Get a historical timeseries of aggregated asset or token metrics (supply, value, holders, mints) grouped by asset, token, asset class, network or date. Use for \"Show the monthly total market value of tokenized treasuries\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"resource":{"description":"assets for asset-level or tokens for token-level series.","enum":["assets","tokens"],"title":"Resource","type":"string"},"query":{"description":"JSON query object with an aggregate block, for example {\"aggregate\":{\"groupBy\":\"date\",\"aggregateFunction\":\"sum\",\"interval\":\"month\",\"mode\":\"stock\"}}. See get_field_metadata for measures.","maxLength":4000,"title":"Query","type":"string"}},"required":["resource","query"],"title":"get_aggregate_timeseriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}