SDKs & Libraries

Official SDKs and libraries for integrating Fairway compliance into your applications

TypeScript SDK

@fairway/sdk

v2.1.0

Full-featured TypeScript SDK for both browser and Node.js environments

Installation

npm install @fairway/sdk

Quick Start

import { FairwayClient } from '@fairway/sdk'

const client = new FairwayClient({
  apiKey: process.env.FAIRWAY_API_KEY,
  network: 'mainnet'
})

// Check eligibility
const result = await client.checkEligibility('addr1...')
console.log(result.eligible) // true/false

Aiken Helpers

fairway/aiken

v1.3.0

Aiken library for Cardano smart contract integration

Installation

aiken packages add fairway/aiken --version v1.3.0

Usage Example

use aiken/list
use fairway/compliance.{verify_kyc, PolicyDatum}

validator kyc_gated_pool {
  fn spend(datum: PolicyDatum, _redeemer: Data, ctx: ScriptContext) {
    let tx = ctx.transaction
    verify_kyc(datum.policy_id, tx.inputs)
  }
}

Solidity Contracts

@fairway/contracts

v1.0.0

Solidity contracts for EVM-compatible chains with ERC-3643 support

Installation

npm install @fairway/contracts

Usage Example

import "@fairway/contracts/PolicyEngine.sol";

contract MyDeFiProtocol {
    PolicyEngine public policyEngine;
    
    constructor(address _policyEngine) {
        policyEngine = PolicyEngine(_policyEngine);
    }
    
    modifier onlyCompliant(address user) {
        require(
            policyEngine.isEligible(user, "institutional_kyc"),
            "User not compliant"
        );
        _;
    }
}

Python SDK

fairway-python

v1.2.0

Python SDK for backend integrations and data analysis

Installation

pip install fairway-python

Usage Example

from fairway import FairwayClient

client = FairwayClient(api_key="your_api_key")

# Batch eligibility check
addresses = ["addr1...", "addr2..."]
results = client.batch_check_eligibility(addresses)

for addr, result in results.items():
    print(f"{addr}: {result.eligible}")

Need Help?

Get support for SDK integration and development questions