Skip to main content
The Conduit Sandbox is a safe environment to test integrations, simulate transactions, and explore the platform without using real funds. It mirrors production behavior so you can validate workflows before going live.

Pre-requisites

Sandbox API base URL

https://sandbox-api.conduit.financial/

Important notes

  • Crypto deposits – Use simulator endpoints to deposit crypto in the sandbox.
  • Compliance screening – All checks are simulated and do not reflect real verification.

Overview

Use the sandbox to simulate the complete customer lifecycle:
  1. Create customers
  2. Simulate KYB verification
  3. Change compliance status

Authentication

All requests require API key and secret authentication. Include the Api-Version header:
curl -X POST https://sandbox-api.conduit.financial/endpoint \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret" \
  -H "Content-Type: application/json" \
  -H "Api-Version: 2024-12-01"

1. Create a customer

Create a new customer in the sandbox environment. Endpoint: POST /customers

Request Example

curl -X POST https://sandbox-api.conduit.financial/customers \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret" \
  -H "Content-Type: application/json" \
  -H "Api-Version: 2024-12-01" \
  -d '{
  "businessLegalName": "Acme",
  "country": "USA"
}'

Response

{
  "id": "cus_30sTSsszBuLMXKPtKjNZf65ZJEI",
  "businessLegalName": "Acme",
  "kybLink": "https://verify-sandbox.aiprise.com/?business_onboarding_session_id=id_12234",
  "kybLinkExpiration": "2025-11-03T17:34:43.629Z"
}

2. Simulate customer KYB

Generate KYB data and simulate KYB verification for an existing customer. Endpoint: POST /simulator/customer-kyb
Simulator endpoints are sandbox-only and may not appear in the public API Reference.

Request Schema

{
  "id": "string (required)",
  "countryCode": "string (required, ISO 3166-1 alpha-3)"
}

Request Example

curl -X POST https://sandbox-api.conduit.financial/simulator/customer-kyb \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "cus_2ofTA13AD0xBtbEvBl20aEb1hEu",
    "countryCode": "USA"
  }'

Response Example

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "type": "business",
  "businessLegalName": "Mocked Business Name",
  "businessTradeName": "Mocked Trade Name",
  "identificationNumbers": [
    { "type": "tax_identification_number", "value": "123456789" },
    { "type": "entity_id", "value": "ABC123XYZ456" }
  ],
  "operatingAddress": {
    "streetLine1": "123 Mock St",
    "streetLine2": "Suite 456",
    "city": "Mock City",
    "state": "MC",
    "postalCode": "12345",
    "country": "US"
  },
  "registeredAddress": {
    "streetLine1": "456 Mock Ave",
    "city": "Mock City",
    "state": "MC",
    "postalCode": "12345",
    "country": "US"
  },
  "phone": "+1-555-555-5555",
  "email": "[email protected]",
  "website": "https://mockbusiness.com",
  "industryData": [
    { "codeType": "NAICS", "code": "123456", "description": "Retail" }
  ],
  "registeredDate": "2018-01-01T00:00:00.000Z",
  "status": "APPROVED",
  "controlPersons": [
    {
      "firstName": "John",
      "lastName": "Doe",
      "email": "[email protected]",
      "roles": [
        { "name": "BENEFICIAL_OWNER", "startDate": "2020-01-01T00:00:00.000Z", "current": true }
      ],
      "ownershipPercentage": 50.0,
      "birthDate": "1980-01-01",
      "address": {
        "streetLine1": "789 Mock Blvd",
        "city": "Mock City",
        "state": "MC",
        "postalCode": "12345",
        "country": "US"
      },
      "nationality": "US",
      "gender": "male",
      "kycStatus": "APPROVED",
      "identityInfo": {
        "documentCountry": "US",
        "documentType": "PASSPORT",
        "documentNumber": "A12345678",
        "documentIssueDate": "2015-01-01",
        "documentExpiryDate": "2025-01-01"
      }
    }
  ],
  "kybCompletedAt": "2023-12-01T12:00:00.000Z",
  "vendorId": "simulator"
}

Mocked Data Details

The response includes the following mocked data:
FieldDescription
businessLegalNameThe legal name of the business
businessTradeNameThe trade name of the business
identificationNumbersIncludes a tax identification number and an entity ID
FieldDescription
operatingAddressThe operating address of the business
registeredAddressThe registered address of the business
FieldDescription
phoneA mocked phone number
emailA mocked email address
websiteA mocked website URL
FieldDescription
codeTypeThe type of industry code (e.g., NAICS)
codeA 6-digit industry code
descriptionA description of the industry
Includes details about individuals associated with the business, such as their name, roles, ownership percentage, and identity information.
FieldDescription
statusThe KYB verification status (e.g., APPROVED)
kybCompletedAtThe timestamp when the KYB process was completed

Use cases

  • Simulate KYB completion after customer creation
  • Test different country-specific flows
  • Generate synthetic KYB data for testing

3. Change compliance status

Simulate compliance status changes for customers or counterparties. Endpoint: POST /simulator/compliance

Customer compliance

Request Schema

{
  "type": "customer",
  "id": "string (required)",
  "status": "enum (required)"
}

Available customer status values

  • active
  • in_compliance_review
  • compliance_rejected
  • created
  • kyb_in_progress
  • kyb_expired
  • kyb_missing_information
  • account_onboarding_pending

Request Example

curl -X POST https://sandbox-api.conduit.financial/simulator/compliance \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "customer",
    "id": "cus_2ofTA13AD0xBtbEvBl20aEb1hEu",
    "status": "active"
  }'

Counterparty compliance

Request Schema

{
  "type": "counterparty",
  "id": "string (required)",
  "status": "enum (required)"
}

Available counterparty status values

  • active
  • deleted
  • in_compliance_review
  • compliance_rejected

Request Example

curl -X POST https://sandbox-api.conduit.financial/simulator/compliance \
  -H "X-API-Key: your_api_key" \
  -H "X-API-Secret: your_api_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "counterparty",
    "id": "cp_2ofTA13AD0xBtbEvBl20aEb1hEu",
    "status": "active"
  }'

Response

{
  "success": true
}

Use cases

  • Test compliance workflow transitions
  • Simulate rejected customers/counterparties
  • Enable customers/counterparties for transactions
  • Test system behavior with different compliance states

4. Simulate Deposit

Simulate a crypto deposit into the system for the sandbox environment. This allows testing deposit flows without real blockchain transactions. Endpoint: POST /simulator/deposit
Simulator endpoints are sandbox-only and may not appear in the public API Reference.

Request Schema

{
  "asset": "string (required, e.g., USDT, USDC, RLUSD)",
  "network": "string (required, e.g., ethereum, tron, solana, polygon, base, xrpl)",
  "amount": "string (required, positive decimal, e.g., '10.50')"
}

Request Example

curl --location 'https://sandbox-api.conduit.financial/simulator/deposit' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'X-API-Key: your_api_key' \
  --header 'X-API-Secret: your_api_secret' \
  --header 'Api-Version: 2024-12-01' \
  --data '{
    "asset": "USDT",
    "network": "ethereum",
    "amount": "100000"
  }'

Response Example

Status Code: 201 Created
{
  "status": "success"
}

Use Cases

  • Simulate a crypto deposit for a customer in the sandbox environment
  • Test deposit workflows without real blockchain transactions
  • Validate application behavior for different deposit scenarios, such as large deposits or specific assets

Notes

FieldDescription
assetMust be a valid stablecoin token (e.g., USDT, USDC, RLUSD)
networkMust specify the blockchain network (e.g., ethereum, tron, solana, polygon, base, xrpl)
amountMust be a positive decimal string representing the deposit amount
ResponseWill always return a status of "success" upon successful simulation

Common testing workflows

Complete customer onboarding flow

  1. Create Customer
    POST /customers
    # Save the returned customer ID
    
  2. Simulate KYB Verification
    POST /simulator/customer-kyb
    # Use customer ID from step 1
    
  3. Activate Customer
    POST /simulator/compliance
    # Set customer status to "active"
    

What’s next?

Support

Reach out to our support team to get help and share your feedback.