### Sanctioned Address API Parameter Examples Source: https://cipherowl.readme.io/reference/examples-for-parameter-address Provides examples of blockchain addresses and their sanction status for the Sanctioned Address API. This includes both sanctioned and non-sanctioned addresses across Bitcoin and Ethereum mainnets, demonstrating expected API responses. ```APIDOC Chain | Address | Notes --- | --- | --- bitcoin_mainnet | 149w62rY42aZBox8fGcmqNsXUzSStKeq8C | Sanctioned Address bitcoin_mainnet | 16tByCYzxuWiN8kF9FrK9jJy6eQYLVkQ1i | Sanctioned Address bitcoin_mainnet | 35EwHyyATy82oVmvzzfKJ7nyw6UTTEryy3 | Not Sanctioned Address bitcoin_mainnet | bc1qxw2gl02k935rwdqx8pjm4m8lzsy4pa6nhv0a33 | Not Sanctioned Address etherium_mainnet | 0x7FF9cFad3877F21d41Da833E2F775dB0569eE3D9 | Sanctioned Address etherium_mainnet | 0xa7e5d5a720f06526557c513402f2e6b5fa20b008 | Sanctioned Address etherium_mainnet | 0x98A75ea07f4188773befc8e97B4615B3cEA5fc3B | Not Sanctioned Address etherium_mainnet | 0xCb39C5B0dB9C5b6Bd1D9273dcCC2f98f532A8Bc6 | Not Sanctioned Address ``` -------------------------------- ### Get All Supported Chains API Endpoint Source: https://cipherowl.readme.io/reference/getsanctionaddresssupportchains-1 This API endpoint retrieves a list of all blockchain networks supported by the CipherOwl Sanctioned API for sanction checks. It is a GET request to the specified URL. ```APIDOC get https://svc.cipherowl.ai/api/sanction/supported-chains/v1 ``` -------------------------------- ### Risk Score API Parameter Examples Source: https://cipherowl.readme.io/reference/examples-for-parameter-address Illustrates examples of blockchain addresses and their associated risk scores for the Risk Score API. This section demonstrates both high and low risk addresses on the Bitcoin mainnet, providing clear test cases for API integration. ```APIDOC Chain | Address | Notes --- | --- | --- bitcoin_mainnet | 149w62rY42aZBox8fGcmqNsXUzSStKeq8C | High Risk Address bitcoin_mainnet | 35EwHyyATy82oVmvzzfKJ7nyw6UTTEryy3 | Low Risk Address ``` -------------------------------- ### Batch Get Address Risk Screen API Endpoint Definition Source: https://cipherowl.readme.io/reference/batchgetaddressriskscorev3 This section defines the HTTP method, base URL, and path parameters for the Batch Get Address Risk Screen API. It also specifies the supported authentication methods for accessing this endpoint. ```APIDOC Endpoint: post https://svc.cipherowl.ai/api/risk/screen/{chain}/v1 Authentication: - Bearer Token - JWT ``` -------------------------------- ### CipherOwl API Base URLs and General Conventions Source: https://cipherowl.readme.io/reference/introduction Outlines the base URLs for accessing the CipherOwl API in both production and sandbox environments, specifies the required protocol (HTTPS), and lists the standard RESTful HTTP methods (GET, POST, PATCH, DELETE) used for operations. It also notes that request and response bodies are in JSON format. ```APIDOC Base URL for API requests: https://svc.cipherowl.ai/api/ Sandbox environment base URL for integration testing: https://svc.dev.cipherowl.ai/api/ HTTPS is required for all requests. API follows RESTful conventions with GET, POST, PATCH, and DELETE requests. Request and response bodies are encoded in JSON format. ``` -------------------------------- ### Retrieve All Supported Jurisdictions API Endpoint Source: https://cipherowl.readme.io/reference/getsanctionaddresssupportjurisdiction-1 This GET endpoint allows clients to fetch a list of all jurisdictions supported by the CipherOwl Sanctioned API. Authentication via a Bearer JWT token is required for access. ```APIDOC get https://svc.cipherowl.ai/api/sanction/supported-jurisdictions/v1 ``` -------------------------------- ### Batch Get Address Risk Score API Endpoint Specification Source: https://cipherowl.readme.io/reference/batchgetaddressriskscore-1 This specification outlines the HTTP method, full URL path, and required authentication details for accessing the Batch Get Address Risk Score API endpoint. It serves as the foundational reference for constructing API requests. ```APIDOC Method: POST Path: https://svc.cipherowl.ai/api/risk-score/{chain}/batch/v1 Authentication: Type: Bearer Token Scheme: JWT ``` -------------------------------- ### Batch Get Address Risk Score V2 API Endpoint Source: https://cipherowl.readme.io/reference/batchgetriskscoresv2-1 Defines the HTTP method, URL, and path parameters for the Batch Get Address Risk Score V2 API endpoint, allowing for batch retrieval of address risk scores. ```APIDOC post https://svc.cipherowl.ai/api/risk-score/{network}/batch/v2 ``` -------------------------------- ### Get Address Sanction Status API Endpoint Definition Source: https://cipherowl.readme.io/reference/getaddresssanctionstatus-1 Defines the GET API endpoint for checking the sanction status of a blockchain address. It specifies the URL structure, describes its purpose, lists the path parameters, and indicates the required authentication method. ```APIDOC Method: GET Endpoint: https://svc.cipherowl.ai/api/sanction-status/{chain}/addresses/{address}/v1 Description: This API endpoint checks if a specific wallet address (such as BTC, ETH addresses) has been sanctioned by the Office of Foreign Assets Control (OFAC) of the U.S. Department of the Treasury, or other jurisdictions. It returns the sanction status of the provided address. Path Parameters: chain (string): The blockchain identifier (e.g., 'btc', 'eth'). address (string): The wallet address to check. Authentication: Bearer JWT ``` -------------------------------- ### Example OAuth Token Response Source: https://cipherowl.readme.io/reference/authentication This JSON snippet illustrates the typical structure of a successful response received from the CipherOwl OAuth token endpoint after a successful client credentials grant. It includes the access token, scope, expiration time, and token type. ```JSON {"access_token":"{your_access_token}","scope":"onchain:read sanction:read","expires_in":86400,"token_type":"Bearer"} ``` -------------------------------- ### Batch Get Address Sanctions API Endpoint Definition Source: https://cipherowl.readme.io/reference/batchgetaddresssanctions-1 Defines the HTTP method and URL for the Batch Get Address Sanctions API endpoint, which allows checking multiple wallet addresses for sanctions. The '{chain}' segment in the URL is a placeholder for the specific blockchain (e.g., BTC, ETH) being queried. ```APIDOC post https://svc.cipherowl.ai/api/sanction/{chain}/batch/v1 ``` -------------------------------- ### CipherOwl Reasoning API GET Endpoint Source: https://cipherowl.readme.io/reference/getaddressriskreason This snippet defines the HTTP GET endpoint for the CipherOwl Reasoning API. It specifies the base URL, version, and path parameters for the blockchain 'chain' and the 'address' to query. Authentication is handled via a Bearer token (JWT). ```APIDOC get https://svc.cipherowl.ai/api/reason/v1/chains/{chain}/addresses/{address} Path Parameters: chain: The blockchain chain identifier (e.g., 'ethereum', 'bitcoin'). address: The specific address for which to retrieve reasoning data. Authentication: Bearer Token (JWT) ``` -------------------------------- ### CipherOwl API: Screen Single Address Endpoint Source: https://cipherowl.readme.io/reference/screenservice_screenaddress Defines the HTTP GET endpoint for screening a single cryptocurrency address on a specified blockchain using the CipherOwl API. This endpoint requires the 'chain' and 'address' parameters to be provided in the URL path. ```APIDOC get https://svc.cipherowl.ai/api/screen/v1/chains/{chain}/addresses/{address} ``` -------------------------------- ### Retrieve All Supported Chains API Endpoint Source: https://cipherowl.readme.io/reference/getriskscoresupportchains-1 This snippet provides the details for the HTTP GET endpoint used to fetch a list of all blockchain networks supported by the CipherOwl risk scoring service. It also specifies the required authentication method. ```APIDOC GET https://svc.cipherowl.ai/api/risk-score/supported-chains/v1 Authentication: Type: Bearer Token Scheme: JWT ``` -------------------------------- ### Get presigned URL for bloom filter API Endpoint Source: https://cipherowl.readme.io/reference/getpresignedurl-1 This API endpoint allows users to retrieve a presigned URL for a specific bloom filter file. The URL can then be used to access or upload the bloom filter. It uses a GET request and requires a file ID for identification. ```APIDOC Method: GET URL: https://svc.cipherowl.ai/api/bloom-filter/file/{fileId} Authentication: Type: Bearer Token (JWT) ``` -------------------------------- ### Get Address Risk Score API Endpoint Definition Source: https://cipherowl.readme.io/reference/getaddressriskscore-1 Defines the HTTP GET endpoint for retrieving the risk score of a specific cryptocurrency address on a given blockchain, with a specified direction. This endpoint is part of the Risk Score API. ```APIDOC GET https://svc.cipherowl.ai/api/risk-score/{chain}/addresses/{address}/{direction}/v1 ``` -------------------------------- ### Upload Report API Endpoint Definition Source: https://cipherowl.readme.io/reference/uploadreport-1 Defines the HTTP method and URL for the CipherOwl 'Upload report' API endpoint. This endpoint is used to submit reports to the service. While the page indicates support for multiple programming languages, no specific code examples are provided in the given text. ```APIDOC POST https://svc.cipherowl.ai/api/upload/report/v1 ``` -------------------------------- ### Get Address Risk Score Detail API Endpoint Source: https://cipherowl.readme.io/reference/batchgetriskscoredetail-1 This API endpoint allows for batch retrieval of detailed risk scores for addresses. It specifies the HTTP POST method and the URL path, including a placeholder for the blockchain 'chain'. ```APIDOC post https://svc.cipherowl.ai/api/risk-score-detail/{chain}/batch/v1 ``` -------------------------------- ### CipherOwl API Endpoints Overview Source: https://cipherowl.readme.io/reference/getpresignedurl-1 This section provides a structured overview of the various API endpoints available in the CipherOwl platform. Endpoints are categorized by functionality, including Sanctioned API, Risk Score API, and SRR API, with each entry indicating its primary HTTP method. ```APIDOC API Endpoints: Sanctioned API: - Upload report (POST) - Batch Get Address Sanctions (POST) - Batch Get Address Sanction Status (POST) - Get Address Sanctions (GET) - Get All Supported Jurisdictions (GET) - Get All Supported Chains (GET) - Get Address Sanction Status (GET) - Get presigned URL for bloom filter (GET) Risk Score API: - Batch Get Address Risk Screen API (POST) - Batch Get Address Risk Score V2 (POST) - Batch Get Address Risk Score (POST) - Get Address Risk Score Detail (POST) - Get Address Risk Score (GET) - Get All Supported Chains (GET) - Reasoning API (GET) SRR API: - Screen a single address (GET) - Batch screen multiple addresses (POST) - Reasoning API (GET) - Reporting API - Risk Assessment (GET) - Reporting API - Graph (GET) - Reporting API - SAR Report (GET) ``` -------------------------------- ### Reasoning API Endpoint Definition Source: https://cipherowl.readme.io/reference/getaddressexposures Defines the HTTP GET endpoint for retrieving exposure information related to a specific address on a given blockchain. Users should replace `{chain}` with the blockchain identifier (e.g., 'ethereum') and `{address}` with the target cryptocurrency address. ```APIDOC get https://svc.cipherowl.ai/api/exposure/v1/chains/{chain}/addresses/{address} ``` -------------------------------- ### Batch Get Address Sanction Status API Endpoint Source: https://cipherowl.readme.io/reference/batchgetaddresssanctionstatus-1 Defines the HTTP POST endpoint for checking the sanction status of a batch of wallet addresses. This API allows users to submit multiple addresses and receive their sanction status in a single request. ```APIDOC post https://svc.cipherowl.ai/api/sanction-status/{chain}/batch/v1 ``` -------------------------------- ### SAR Report API GET Endpoint Source: https://cipherowl.readme.io/reference/sar_report_api Documents the GET method for the SAR Report API, specifying the base URL and path parameters for chain and address. This endpoint is used to retrieve SAR reports. ```APIDOC get https://tools.prod.cipherowl.ai/api/report/v1/sar/chains/{chain}/addresses/{address} ``` -------------------------------- ### Risk Assessment API Endpoint and Authentication Source: https://cipherowl.readme.io/reference/risk_assessment_api Details the GET endpoint for retrieving risk assessment reports, specifying the URL structure with path parameters for chain and address, and the required Bearer token authentication using JWT. ```APIDOC API Endpoint: Method: GET URL: https://tools.prod.cipherowl.ai/api/report/v1/risk-assessment/chains/{chain}/addresses/{address} Authentication: Type: Bearer Token Methods: JWT ``` -------------------------------- ### Reporting API - Graph Endpoint Definition Source: https://cipherowl.readme.io/reference/graph_api Defines the GET endpoint for retrieving graph data from the CipherOwl Reporting API, specifying the base URL, path parameters, authentication method, and supported client languages. ```APIDOC Endpoint: GET /api/report/v1/graph/chains/{chain}/addresses/{address} Base URL: https://tools.prod.cipherowl.ai Path Parameters: chain: string (e.g., blockchain name) address: string (e.g., wallet address) Authentication: Type: Bearer Token (JWT) Supported Client Languages: - Shell - Node - Ruby - PHP - Python ``` -------------------------------- ### Authenticate API Request with Bearer Token Source: https://cipherowl.readme.io/reference/authentication This snippet shows how to include the obtained access token in the 'Authorization' header as a Bearer token for subsequent authenticated GET requests to the CipherOwl API, specifically demonstrating a call to the sanction endpoint. ```Bash curl --request GET \ --url https://svc.dev.cipherowl.ai/api/v1/sanction \ --header 'accept: application/json' \ --header 'Authorization: Bearer {YOUR_ACCESS_TOKEN}' ``` -------------------------------- ### Request OAuth Access Token with cURL Source: https://cipherowl.readme.io/reference/release-notes This Bash snippet demonstrates how to obtain an OAuth 2.0 access token from the CipherOwl authentication service. It uses a POST request with `client_id`, `client_secret`, `audience`, and `grant_type` in the JSON payload to get a `client_credentials` token. ```Bash curl --request POST \ --url https://svc.cipherowl.ai/oauth/token \ --header 'Content-Type: application/json' \ --data '{ "client_id": "{YOUR_CLIENT_ID}", "client_secret": "{YOUR_CLIENT_SECRET}", "audience": "svc.cipherowl.ai", "grant_type": "client_credentials" }' ``` -------------------------------- ### Get Address Sanctions API Endpoint Definition Source: https://cipherowl.readme.io/reference/getaddresssanctions-1 This API endpoint checks if a specific wallet address (such as BTC, ETH addresses) has been sanctioned by the Office of Foreign Assets Control (OFAC) of the U.S. Department of the Treasury, or other jurisdictions. It returns a list of sanctions information associated with the provided address. ```APIDOC get https://svc.cipherowl.ai/api/sanction/{chain}/addresses/{address}/v1 ``` -------------------------------- ### CipherOwl API Authentication Method Source: https://cipherowl.readme.io/reference/batchgetriskscoresv2-1 Specifies the required authentication method for accessing the CipherOwl API, which involves providing a JSON Web Token (JWT) as a Bearer token in the request header. ```APIDOC Credentials\nBearer\nJWT ``` -------------------------------- ### API Parameter: project Source: https://cipherowl.readme.io/reference/parameters Describes the `project` parameter, a unique string identifying the customer's specific project setting, which must be included in all CipherOwl API requests. ```APIDOC project: Type: string Description: A unique string provided to each customer. This parameter identifies the customer's specific project setting and must be included in the request. ``` -------------------------------- ### CipherOwl API Base URL and Conventions Source: https://cipherowl.readme.io/reference/index Details the base URL for CipherOwl API requests, required HTTPS, and RESTful conventions for HTTP methods and JSON encoding. It also specifies the sandbox environment URL and JSON data formatting rules. ```APIDOC Base URL: https://svc.cipherowl.ai/api/ Sandbox Environment Base URL: https://svc.dev.cipherowl.ai/api/ Conventions: - HTTPS required for all requests. - RESTful conventions (GET, POST, PATCH, DELETE). - Request and response bodies encoded in JSON format. - Top-level resources have 'response' and 'trace' properties. - Property names in camelCase. - Temporal values (dates, datetimes) encoded as ISO 8601 strings. - Datetime example: 2024-05-18T02:12:33.231Z - Date example: 2020-08-12 ``` -------------------------------- ### CipherOwl API JSON Data Conventions Source: https://cipherowl.readme.io/reference/introduction Details the specific JSON formatting rules for CipherOwl API interactions. This includes the structure of top-level resources with 'response' and 'trace' properties, the use of 'camelCase' for all property names, and the encoding of temporal values (dates and datetimes) as ISO 8601 strings. ```APIDOC Top-level resources have 'response' and 'trace' properties. The 'response' property contains the structure that each API should return. The 'trace' property contains tracing information for the request. Property names are in camelCase (not snake_case or kebab-case). Temporal values (dates and datetimes) are encoded as ISO 8601 strings. Datetimes include the time value (e.g., 2024-05-18T02:12:33.231Z). Dates include only the date (e.g., 2020-08-12). ``` -------------------------------- ### API Parameter: chain Source: https://cipherowl.readme.io/reference/parameters Describes the `chain` parameter, which specifies the blockchain network for the query. Its value should be one of the `key` values from the `chains-mapping.json`. ```APIDOC chain: Type: string (key from chains-mapping.json) Description: Specifies the blockchain network on which the query will be performed. The value should be a 'key' from the provided 'chains-mapping.json' file. ``` -------------------------------- ### CipherOwl API: Batch Screen Multiple Addresses Endpoint Source: https://cipherowl.readme.io/reference/screenservice_batchscreenaddresses Defines the API endpoint for screening multiple addresses. It specifies the POST method, the URL structure including a dynamic chain parameter, and the authentication mechanism using a Bearer JWT token. This endpoint is designed for high-volume address screening. ```APIDOC Method: POST Endpoint: https://svc.cipherowl.ai/api/screen/v1/chains/{chain}/batch Authentication: Bearer JWT Supported Example Languages: Shell, Node, Ruby, PHP, Python ``` -------------------------------- ### Risk Score API Endpoints - Version 1.1.0 Source: https://cipherowl.readme.io/reference/release-notes This section outlines the new and updated endpoints for the Risk Score API, providing functionalities to fetch risk scores and detailed risk reasons for wallet addresses, with support for different versions and directional scoring. ```APIDOC Batch Get Address Risk Score (v1): Endpoint: /api/risk-score/{chain}/batch/v1 Description: Fetch risk scores for multiple wallet addresses with directional scoring (SEND, RECEIVE, BOTH). Batch size limits have been standardized to a maximum of 50 addresses. ``` ```APIDOC Batch Get Address Risk Score (v2): Endpoint: /api/risk-score/{network}/batch/v2 Description: Enhanced risk scoring with improved accuracy and response structures. Batch size limits have been standardized to a maximum of 50 addresses. ``` ```APIDOC Batch Get Address Risk Score Details: Endpoint: /api/risk-score-detail/{chain}/batch/v1 Description: Provides detailed reasons behind the risk scores, including labels and transaction exposure. ``` ```APIDOC Get Address Risk Score (RECEIVE): Endpoint: /api/risk-score/{chain}/addresses/{address}/receive/v1 Description: Fetch the RECEIVE directional risk score for a single wallet address. ``` ```APIDOC Get All Supported Chains: Endpoint: /api/risk-score/supported-chains/v1 Description: List blockchain networks supported for risk scoring. ``` -------------------------------- ### Set Authorization Header for API Requests Source: https://cipherowl.readme.io/reference/release-notes This snippet illustrates the correct format for including the obtained OAuth access token in the `Authorization` header of subsequent API requests, using the Bearer token scheme. ```Bash Authorization: Bearer {YOUR_ACCESS_TOKEN} ``` -------------------------------- ### CipherOwl API Endpoint Overview Source: https://cipherowl.readme.io/reference/support This section outlines the various API endpoints available within the CipherOwl platform, categorized by their primary function. It includes endpoints for Sanctioned API, Risk Score API, and SRR API, along with their respective HTTP methods. ```APIDOC Sanctioned API: - Upload report (POST) - Batch Get Address Sanctions (POST) - Batch Get Address Sanction Status (POST) - Get Address Sanctions (GET) - Get All Supported Jurisdictions (GET) - Get All Supported Chains (GET) - Get Address Sanction Status (GET) - Get presigned URL for bloom filter (GET) Risk Score API: - Batch Get Address Risk Screen API (POST) - Batch Get Address Risk Score V2 (POST) - Batch Get Address Risk Score (POST) - Get Address Risk Score Detail (POST) - Get Address Risk Score (GET) - Get All Supported Chains (GET) - Reasoning API (GET) SRR API: - Screen a single address (GET) - Batch screen multiple addresses (POST) - Reasoning API (GET) - Reporting API - Risk Assessment (GET) - Reporting API - Graph (GET) - Reporting API - SAR Report (GET) ``` -------------------------------- ### Sanctioned API Endpoints - Version 1.1.0 Source: https://cipherowl.readme.io/reference/release-notes This section details the new and updated endpoints within the Sanctioned API, allowing users to check and retrieve sanction information for wallet addresses across various jurisdictions and blockchain networks. ```APIDOC Batch Get Address Sanction Status: Endpoint: /api/sanction-status/{chain}/batch/v1 Description: Check if multiple wallet addresses are sanctioned across supported jurisdictions (e.g., OFAC, UK, JP). ``` ```APIDOC Batch Get Address Sanctions: Endpoint: /api/sanction/{chain}/batch/v1 Description: Retrieve detailed sanctions information for multiple addresses, including sanction names, validity periods, and associated jurisdictions. ``` ```APIDOC Get Address Sanction Status: Endpoint: /api/sanction-status/{chain}/addresses/{address}/v1 Description: Check if a single wallet address is sanctioned in supported jurisdictions. ``` ```APIDOC Get Address Sanctions: Endpoint: /api/sanction/{chain}/addresses/{address}/v1 Description: Retrieve sanctions details for a single wallet address, including specific sanctions applied. ``` ```APIDOC Get All Supported Jurisdictions: Endpoint: /api/sanction/supported-jurisdictions/v1 Description: List of jurisdictions supported by the Sanctioned API. ``` ```APIDOC Get All Supported Chains: Endpoint: /api/sanction/supported-chains/v1 Description: Retrieve blockchain networks supported for sanctions checks. ``` -------------------------------- ### CipherOwl API Request Limits Overview Source: https://cipherowl.readme.io/reference/request-limits Details the rate limiting and size limiting policies of the CipherOwl API, including error responses and specific parameter constraints for various request types. ```APIDOC # Request Limits ## Rate Limits - **Purpose**: To ensure a positive experience for all users. - **Error Response**: - Message: `Limit Exceeded` - HTTP Status Code: `429` - **Association**: Associated with the `API key`. - **Factors Influencing Rate Limits**: - `Rate`: The number of API requests that a client can make per second. - `Burst`: The number of concurrent requests a client can make to the API. - `Quota`: The total number of API requests a client can make over a specified period. - **Compliance Guidance**: Adapt by reducing (or slowing down) the rate of future requests; a common method is using one or more queues to manage pending requests. ## Size Limits - **Purpose**: Limits the size of certain parameters in requests. - **Error Response**: - HTTP Status Code: `400` - Details: More specific details will be provided in the "message" property of the response. - **Limits for Property Values**: - `Property Value Type`: An array of any batch request - `Size Limit`: 50 elements ``` -------------------------------- ### Obtain OAuth Token from CipherOwl API Source: https://cipherowl.readme.io/reference/authentication This snippet demonstrates how to make a POST request to the CipherOwl OAuth token endpoint to acquire an access token using client credentials. It requires a client ID and client secret, typically provided by CipherOwl. ```cURL curl --request POST \ --url https://svc.cipherowl.ai/oauth/token \ --header 'Content-Type: application/json' \ --data '{ "client_id": "{YOUR_CLIENT_ID}", "client_secret": "{YOUR_CLIENT_SECRET}", "audience": "svc.cipherowl.ai", "grant_type": "client_credentials" }' ``` ```C# var client = new RestClient("svc.cipherowl.ai/oauth/token"); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"client_id\":\"{}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```Go package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://svc.cipherowl.ai/oauth/token" payload := strings.NewReader("{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```Java HttpResponse response = Unirest.post("https://svc.cipherowl.ai/oauth/token") .header("content-type", "application/json") .body("{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}") .asString(); ``` ```jQuery var settings = { "async": true, "crossDomain": true, "url": "https://svc.cipherowl.ai/oauth/token", "method": "POST", "headers": { "content-type": "application/json" }, "data": "{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}" } $.ajax(settings).done(function (response) { console.log(response); }); ``` ```Node.js var request = require("request"); var options = { method: 'POST', url: 'https://svc.cipherowl.ai/oauth/token', headers: { 'content-type': 'application/json' }, body: '{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}' }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); }); ``` ```PHP $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://svc.cipherowl.ai/oauth/token", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}", CURLOPT_HTTPHEADER => array( "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ``` ```Python import http.client conn = http.client.HTTPSConnection("svc.cipherowl.ai") payload = "{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}" headers = { 'content-type': "application/json" } conn.request("POST", "/oauth/token", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```Ruby require 'uri' require 'net/http' url = URI("https://svc.cipherowl.ai/oauth/token") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(url) request["content-type"] = 'application/json' request.body = "{\"client_id\":\"{YOUR_CLIENT_ID}\",\"client_secret\":\"{YOUR_CLIENT_SECRET}\",\"audience\":\"svc.cipherowl.ai\",\"grant_type\":\"client_credentials\"}" response = http.request(request) puts response.read_body ``` -------------------------------- ### API Parameter: direction Source: https://cipherowl.readme.io/reference/parameters Defines the direction type for a transaction or message, indicating whether it is sent, received, or both. ```APIDOC direction: type: string description: The supported direction type includes: enum: - sent - received - both ``` -------------------------------- ### Blockchain Chain Mapping JSON Source: https://cipherowl.readme.io/reference/parameters A JSON array providing a mapping of blockchain network keys to their display names, and sometimes short names. These keys are used for the `chain` parameter in CipherOwl API requests to specify the target blockchain network. ```JSON [ { "key": "arbitrum_one", "display_name": "Arbitrum One" }, { "key": "bitcoin_cash_mainnet", "display_name": "Bitcoin Cash" }, { "key": "bitcoin_gold_mainnet", "display_name": "Bitcoin Gold" }, { "key": "bitcoin_mainnet", "display_name": "Bitcoin" }, { "key": "bitcoin_sv_mainnet", "display_name": "Bitcoin SV" }, { "key": "bnb_chain_mainnet", "display_name": "BNB Chain" }, { "key": "dash_mainnet", "display_name": "Dash" }, { "key": "ethereum_classic_mainnet", "display_name": "Ethereum Classic" }, { "key": "ethereum_mainnet", "display_name": "Ethereum" }, { "key": "litecoin_mainnet", "display_name": "Litecoin" }, { "key": "monero_mainnet", "display_name": "Monero" }, { "key": "tron_mainnet", "display_name": "Tron", "short_name": ["TRX"] }, { "key": "verge_mainnet", "display_name": "Verge", "short_name": ["XVG"] }, { "key": "xrp_mainnet", "display_name": "XRP", "short_name": ["XRP"] }, { "key": "zcash_mainnet", "display_name": "Zcash", "short_name": ["ZEC"] } ] ``` -------------------------------- ### CipherOwl API Success Status Codes Source: https://cipherowl.readme.io/reference/status-codes This section details the HTTP status codes returned by the CipherOwl API to indicate successful request processing. ```APIDOC | HTTP Status Code | Description | | --- | --- | | 200 | CipherOwl API successfully processed the request. | ``` -------------------------------- ### CipherOwl API Error Status Codes Source: https://cipherowl.readme.io/reference/status-codes This section outlines the HTTP status codes returned by the CipherOwl API to indicate various types of errors, including missing parameters, size limits, forbidden access, rate limits, and unexpected server errors. ```APIDOC | HTTP Status Code | Description | Example Messages | | --- | --- | --- | | `400` | The request param is not present. | `"Required parameter 'project' is not present."` `"Project ID not exist."` | | `400` | The request param size limit was exceeded. | `"Required parameter 'addresses' Limit Exceeded. The maximum size is 50."` *(For more details, please refer to the[Request Limits](https://cipherowl.readme.io/reference/request-limits) Section.)* | | `403` | The `api-key` is not present | `"Forbidden."` | | `429` | This request exceeds the number of requests allowed. | `"Limit Exceeded."` *(For more details, please refer to the[Request Limits](https://cipherowl.readme.io/reference/request-limits) Section.)* | | `500` | An unexpected error occurred. Reach out to [CipherOwl support](https://cipherowl.readme.io/reference/support). | `"Unexpected error occurred."` | ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.