Swipelux

Overview

Onboard business entities with KYB compliance for B2B crypto payments

Enable investment firms, corporations, and other business entities to use SEPA → stablecoin flows with full KYB (Know Your Business) compliance.

Overview

Business customers allow you to onboard corporate entities rather than individuals. This is essential for:

  • Investment firms processing €2–5M+ monthly volumes
  • Corporate treasury operations
  • Cross-border B2B payments
  • EU VASP compliance (KYB, sanctions/KYT, Travel Rule)

Business customers are created using the same unified POST /v1/customers endpoint as individual customers. Simply specify type: "business" to create a business customer. Business customers undergo KYB verification, which includes entity identity checks, UBO (Ultimate Beneficial Owner) verification, and source of funds documentation.

Quick Start

1. Create Business Customer

Create a business customer using the unified customer endpoint:

POST /v1/customers

POST https://wallet.swipelux.com/v1/customers
Content-Type: application/json
X-API-Key: your_api_key
 
{
  "type": "business",
  "legalName": "Acme Investment GmbH",
  "website": "https://acme-invest.example.com"
}

Response:

{
  "id": "biz_cK69MttD5nAUAbud1B",
  "type": "business",
  "legalName": "Acme Investment GmbH",
  "website": "https://acme-invest.example.com",
  "status": "pending_verification"
}

2. Complete KYB Information

Update the business KYB sections using customer-specific endpoints:

3. Add Shareholders & UBOs

Add Ultimate Beneficial Owners (individuals with >25% ownership or control):

View full shareholder documentation →

Quick example:

POST /v1/customers/:id/shareholders

POST https://wallet.swipelux.com/v1/customers/biz_cK69MttD5nAUAbud1B/shareholders
Content-Type: application/json
X-API-Key: your_api_key
 
{
  "residentCountry": "DE",
  "givenName": "John",
  "lastName": "Doe",
  "sharePercentage": 51,
  "joiningDate": "2020-01-15",
  "businessEmail": "john.doe@acme-invest.example.com",
  "position": "CEO",
  "uboOwnership": true,
  "uboIsSigner": true,
  "uboHasControl": true
}

4. Create Wallet for Business Customer

Use the standard wallet creation endpoint:

POST /v1/wallets

POST https://wallet.swipelux.com/v1/wallets
Content-Type: application/json
X-API-Key: your_api_key
 
{
  "customerId": "biz_cK69MttD5nAUAbud1B",
  "chains": ["polygon"]
}

Response:

{
  "wallets": [
    {
      "id": "wlt_abc123def456",
      "chain": "polygon",
      "address": "0x1234567890123456789012345678901234567890"
    }
  ]
}

5. Create Transfer with Business Customer ID

Use the business customer ID in transfers:

POST /v1/transfers

POST https://wallet.swipelux.com/v1/transfers
Content-Type: application/json
X-API-Key: your_api_key
 
{
  "from": {
    "identifier": "biz_cK69MttD5nAUAbud1B",
    "amount": "1000.00",
    "rail": "polygon",
    "currency": "USDC"
  },
  "to": {
    "identifier": "0x9876543210987654321098765432109876543210"
  }
}

API Endpoints

Customer Management (Business Type)

EndpointMethodDescription
/v1/customersPOSTCreate a new business customer (with type: "business")
/v1/customersGETList all customers (including businesses)
/v1/customers/:idGETGet customer details
/v1/customers/:idDELETESoft delete customer

KYB Data Sections

EndpointMethodDescription
/v1/customers/:id/identityPATCHUpdate entity identity information
/v1/customers/:id/detailsPATCHUpdate business details
/v1/customers/:id/addressPATCHUpdate business address
/v1/customers/:id/source-of-fundsPATCHUpdate source of funds
/v1/customers/:id/activityPATCHUpdate activity information

Shareholders & UBOs

EndpointMethodDescription
/v1/customers/:id/shareholdersPOSTAdd shareholder/UBO
/v1/customers/:id/shareholders/:shareholderIdPATCHUpdate shareholder
/v1/customers/:id/shareholders/:shareholderIdDELETERemove shareholder

Wallets

EndpointMethodDescription
/v1/walletsPOSTCreate wallet for any customer (pass customerId)
/v1/walletsGETList wallets for a customer

KYB Verification Status

Business customer KYB status progresses through these states:

  • pending_verification - Business customer created, awaiting KYB data submission
  • incomplete - Partial KYB data submitted
  • under_review - Complete KYB data under compliance review
  • approved - KYB approved, business can transact
  • rejected - KYB rejected, business cannot transact

Required KYB Information

Complete KYB verification requires the following sections. Click each section for detailed requirements and API documentation:

Identity Information

Jurisdiction, entity type, registration number, incorporation date, tax ID

Business Details

Business description, industry type, contact information

Registered Address

Official business address with street, city, state, postal code

Source of Funds

AML compliance: source of funds, purpose, expected volumes, flow description

Activity Information

Risk assessment: sanctioned countries involvement, high-risk activities

Shareholders & UBOs

Ultimate Beneficial Owners with >25% ownership or control

Webhook Events

Subscribe to business lifecycle events:

  • business.created - New business entity created
  • business.updated - Business information updated
  • business.deleted - Business soft deleted
  • business.kyb_status_changed - KYB verification status changed

Business vs Individual Customers

FeatureIndividual CustomersBusiness Customers
CreationPOST /v1/customers (default or type: "individual")POST /v1/customers with type: "business"
VerificationKYC (Know Your Customer)KYB (Know Your Business)
ID Prefixcus_biz_
Initial Statusapprovedpending_verification
Required DataMinimal (can be empty {})Legal name, website
Additional DataPersonal details (optional)UBOs, shareholders, entity details
Use CaseRetail, end-usersB2B, corporate treasury, investment firms

Compliance Features

Business customers support full EU VASP compliance:

  • KYB Verification - Entity identity and documentation
  • UBO Tracking - Ultimate Beneficial Owner verification
  • Source of Funds - AML compliance documentation
  • Sanctions Screening - High-risk country checks
  • Activity Monitoring - High-risk activity tracking
  • Travel Rule Ready - Entity information for cross-border transfers

Example: Investment Firm Flow

// 1. Create business customer
const business = await fetch('https://wallet.swipelux.com/v1/customers', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.API_KEY
  },
  body: JSON.stringify({
    type: 'business',
    legalName: 'European Investment Partners GmbH',
    website: 'https://eip-fund.eu'
  })
});
 
const { id: businessId } = await business.json();
 
// 2. Complete KYB identity information
await fetch(`https://wallet.swipelux.com/v1/customers/${businessId}/identity`, {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.API_KEY
  },
  body: JSON.stringify({
    jurisdiction: 'DE',
    entityType: 'gmbh',
    registrationNumber: 'HRB 98765',
    incorporationDate: '2018-03-15',
    taxNumber: 'DE987654321'
  })
});
 
// 3. Add managing directors as UBOs
await fetch(`https://wallet.swipelux.com/v1/customers/${businessId}/shareholders`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.API_KEY
  },
  body: JSON.stringify({
    residentCountry: 'DE',
    givenName: 'Anna',
    lastName: 'Schmidt',
    sharePercentage: 50,
    joiningDate: '2018-03-15',
    businessEmail: 'anna.schmidt@eip-fund.eu',
    position: 'Managing Director',
    uboOwnership: true,
    uboIsSigner: true,
    uboHasControl: true
  })
});
 
// 4. Create wallet and start processing SEPA → USDC transfers
await fetch(`https://wallet.swipelux.com/v1/wallets`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.API_KEY
  },
  body: JSON.stringify({
    customerId: businessId,
    chains: ['polygon']
  })
});

Next Steps