Blockpliance Sticker Logo
Blockpliance Risk Cards A through F

API and Developer Documentation

tl;dr Contents

Introduction

PDF Summary

Blockpliance is a leading blockchain compliance platform that offers a comprehensive suite of tools and services to ensure regulatory compliance for blockchain-based projects. Our API allows developers to seamlessly integrate Blockpliance's functionalities into their applications.

We are a fast moving start-up company, so if you don't see what you like, reach out to us (djp3@blockpliance.com) to see if we can develop an endpoint that suits your needs.

This guide will help you understand how to integrate and utilize our API to leverage Blockpliance's Artificial Intelligence and Machine Learning driven compliance features in your applications.

API Products

Road barrier icon created by Designing Hub from Noun Project

Foundational: OFAC Sanctions Screening

Instantly verify blockchain transactions against the latest U.S. Department of the Treasury's OFAC sanctions list and extended attributions.

  • Key Features:
    • Real-time screening of all types of sanctioned crypto addresses
    • Continuous updates from official OFAC data sources
    • Low-latency responses for high-throughput systems
    • Detailed match information for compliance reporting
  • Use Cases:
    • Pre-transaction risk assessment
    • Automated compliance checks in DeFi protocols
    • Regulatory reporting and audit trails

Lighthouse icon created by Designing Hub from Noun Project
Advanced: Address Risk Attribution

Comprehensive risk profiling for crypto addresses through blockchain analysis and multi-source intelligence.

  • Key Features:
    • Multi-factor risk assessment incorporating on-chain and off-chain data
    • Continuous updates based on latest blockchain activity and intel
    • Low-latency responses for high-throughput systems
    • Detailed attribution data for comprehensive risk understanding
  • Use Cases:
    • Enhanced due diligence for high-value transactions
    • Risk-based transaction monitoring and alerting
    • Customer risk profiling for crypto exchanges and institutions
    • Informed decision-making for DeFi protocols

Radar scanning icon created by Designing Hub from Noun Project
Comprehensive: A.I. Risk Analysis

Advanced risk analysis for crypto addresses powered by artificial intelligence, incorporating on-chain, off-chain, and behavioral data.

  • Key Features:
    • AI-driven risk scoring for Bitcoin addresses
      • (USDT on ETH coming Q3 2024)
    • Comprehensive risk assessment combining blockchain data, external intelligence, and behavioral patterns
    • Adaptive learning model for evolving threat detection
    • Real-time updates reflecting the latest blockchain activities and emerging risks
  • Use Cases:
    • Predictive risk management for crypto exchanges and financial institutions
    • Enhanced AML and fraud prevention systems
    • Risk-based customer due diligence automation

Getting Started

  1. Sign up for a Blockpliance account with our friendly team here.
  2. Software Flow
    1. Start by requesting a token from AWS Cognito using username and password that you received from Blockpliance.
    2. Query for info on a crypto-address with an http REST API call
    3. Process the JSON response for the information you need
    4. Repeat previous two steps as necessary
    5. If your software is a long running process periodically refresh your AWS credentials

Authentication

All API requests require authentication using AWS Cognito. The following is a bash scripting example:

							
# File containing the initial authentication payload.
AUTH_PAYLOAD="user-data.json"

# Cognito endpoint
COGNITO_ENDPOINT="https://cognito-idp.us-east-1.amazonaws.com/"

# Authenticate and acquire tokens
if ! AUTH_RESULT=$(curl -s -X POST --data @"$AUTH_PAYLOAD" -H 'X-Amz-Target: AWSCognitoIdentityProviderService.InitiateAuth' -H 'Content-Type: application/x-amz-json-1.1' $COGNITO_ENDPOINT);  then
    echo "Error: Authentication request failed"
    exit 1
fi

# Extract access and refresh tokens
ACCESS_TOKEN=$(echo "$AUTH_RESULT" | jq -r .AuthenticationResult.AccessToken)
REFRESH_TOKEN=$(echo "$AUTH_RESULT" | jq -r .AuthenticationResult.RefreshToken)

						

user-data.json:


{
  "AuthParameters": {
    "USERNAME": "djp3@blockpliance.com",
    "PASSWORD": "********"
  },
  "AuthFlow": "USER_PASSWORD_AUTH",
  "ClientId": "********"
}

										

Code Examples

github repo with code examples

Best Practices

  • We enforce HTTPS for all API requests to ensure secure communication.
  • All information is passed in the URL as an https GET method. The Blockpliance API returns data in JSON format.
  • Consider how to gracefully handle errors, including timeout errors for network problems.
  • In case of any errors, the API will return an appropriate HTTP status code and/or an error message in the response body.
  • Keep your AWS credentials secure to avoid unauthorized parties charging your account.

Support and Feedback

If you have any questions, issues, or feedback regarding the Blockpliance API, please contact our support team at djp3@blockpliance.com. We are here to assist you and ensure a smooth integration experience.

Feel free to issue a pull request against this document to recommend any changes

Below is a live API test that is available if you have an authorization token from AWS Cognito. (which requires talking to Blockpliance first)


API Documentation

Sample Latencies
  • ofac_check (n=8)
      Location DNS lookup SSL handshake TCP connection Time to first byte Total time
      μ (σ) in ms μ (σ) in ms μ (σ) in ms μ (σ) in ms μ (σ) in ms
      At the Data Center 1.0 (0.04) 63.9 (2.52) 2.1 (0.07) 69.1 (2.10) 69.2 (2.01)
      LEO Satellite (LA Ground Station) 2.5 (0.35) 31.7 (5.22) 75.7 (3.74) 147.7 (23.44) 147.9 (23.44)
  • risk_attributes (n=8)
      Location DNS lookup SSL handshake TCP connection Time to first byte Total time
      At the Data Center 1.0 (0.10) 62.2 (2.18) 2.08 (0.15) 67.7 (2.49) 67.8 (2.49)
      LEO Satellite (LA Ground Station) 2.7 (0.56) 81.3 (6.37) 32.5 (3.73) 151.8 (7.29) 152.0 (7.30)
  • risk_analysis (n=8)
      Location DNS lookup SSL handshake TCP connection Time to first byte Total time
      At the Data Center 1.0 (0.02) 60.0 (1.23) 2.0 (0.05) 65.0 (1.75) 65.1 (1.74)
      LEO Satellite (LA Ground Station) 2.4 (0.23) 83.7 (7.53) 33.9 (4.21) 158.1 (10.58) 158.3 (10.54)
Blockpliance Square Logo

Copyright 2024 Blockpliance,Inc.