Skip to main content

Legal Person Condensed Flow

Create complete transactions between legal entities (corporations, partnerships, trusts) with automatic KYC screening in a single API call.

Use Case

Ideal for business-to-business transactions where either the originator, beneficiary, or both are legal entities rather than individuals.

Request

Endpoint: POST https://api.trpcontinuum.com/trp/transactions/condensed

Headers:

Content-Type: application/json
Authorization: Bearer {your-token}

Request Body:

{
"transaction": {
"network": "bitcoin",
"virtualAsset": "Bitcoin (BTC)",
"amount": "500000.00",
"beneficiaryWalletAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"originatorWalletAddress": "bc1qabc123def456ghi789jkl012mno345pqr678stu",
"memo": "Corporate payment",
"purpose": "Business transaction"
},
"beneficiary": {
"beneficiaryVaspId": "vasp_123456",
"beneficiaryIsLegalPerson": true,
"beneficiaryLegalName": "Global Finance Corp",
"beneficiaryOrganization": "Global Finance Corp",
"dateOfIncorporation": "2015-08-20",
"placeOfIncorporation": "London, UK",
"beneficiaryIdNumber": "GB987654321",
"beneficiaryIdType": "LEIX",
"beneficiaryIdCountryOfIssue": "GB",
"beneficiaryRegistrationAuthority": "Companies House",
"buildingNumber": "456",
"streetName": "Corporate Avenue",
"townName": "London",
"postCode": "SW1A 1AA",
"country": "GB"
},
"originator": {
"originatorIsLegalPerson": true,
"originatorLegalName": "TechCorp Solutions Inc.",
"originatorDateOfIncorporation": "2010-05-15",
"originatorPlaceOfIncorporation": "Delaware, US",
"originatorRegistrationAuthority": "Delaware Secretary of State",
"originatorIdNumber": "DEL123456789",
"originatorIdType": "LEIX",
"originatorIdCountryOfIssue": "US",
"originatorAddressLine1": "1000 Corporate Blvd",
"originatorAddressLine2": "Suite 500",
"originatorCity": "San Francisco",
"originatorState": "CA",
"originatorPostalCode": "94105",
"originatorCountry": "US"
},
"forceApproveKyc": false
}

Response Examples

Success (No KYC Matches)

{
"success": true,
"data": {
"id": "txn_corp123",
"status": "Client Info Pending Send",
"network": "bitcoin",
"virtualAsset": "Bitcoin (BTC)",
"amount": "500000.00",
"beneficiaryWalletAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"originatorWalletAddress": "bc1qabc123def456ghi789jkl012mno345pqr678stu",
"beneficiary": {
"beneficiaryLegalName": "Global Finance Corp",
"beneficiaryVaspId": "vasp_123456",
"dateOfIncorporation": "2015-08-20"
},
"originator": {
"originatorLegalName": "TechCorp Solutions Inc.",
"originatorDateOfIncorporation": "2010-05-15"
},
"kycCheck": {
"hasMatches": false,
"totalMatches": 0,
"beneficiaryChecked": true,
"originatorChecked": true,
"entityType": "legal_person",
"screenedAt": "2024-08-07T10:00:00Z"
},
"createdAt": "2024-08-07T10:00:00Z",
"updatedAt": "2024-08-07T10:00:00Z"
}
}

Success (KYC Matches Found)

{
"success": true,
"data": {
"id": "txn_corp456",
"status": "KYC Beneficiary Pending Review",
"network": "bitcoin",
"virtualAsset": "Bitcoin (BTC)",
"amount": "500000.00",
"kycCheck": {
"hasMatches": true,
"totalMatches": 1,
"beneficiaryMatches": 1,
"originatorMatches": 0,
"topMatch": {
"score": 0.92,
"name": "Global Finance Corp",
"riskLevel": "high",
"sources": ["sanctions", "enforcement"],
"details": {
"incorporationDate": "2015-08-20",
"jurisdiction": "GB",
"matchType": "company_name_jurisdiction"
}
},
"matches": [
{
"score": 0.92,
"name": "Global Finance Corp",
"type": "beneficiary",
"sources": ["sanctions", "enforcement"],
"entityType": "Company",
"jurisdiction": "GB"
}
],
"entityType": "legal_person",
"screenedAt": "2024-08-07T10:00:00Z"
},
"createdAt": "2024-08-07T10:00:00Z",
"updatedAt": "2024-08-07T10:00:00Z"
}
}

Required Fields

Transaction

  • network - Blockchain network
  • virtualAsset - Asset name
  • amount - Transaction amount as string
  • beneficiaryWalletAddress - Recipient wallet address
  • originatorWalletAddress - Sender wallet address
  • beneficiaryVaspId - Target VASP identifier
  • beneficiaryIsLegalPerson - Must be true
  • beneficiaryLegalName - Official company/entity name
  • dateOfIncorporation - Date of incorporation/formation (YYYY-MM-DD format)
  • placeOfIncorporation - Place of incorporation/formation
  • country - Country code (ISO 3166-1 alpha-2)
  • originatorIsLegalPerson - Must be true
  • originatorLegalName - Official company/entity name
  • originatorDateOfIncorporation - Date of incorporation/formation (YYYY-MM-DD format)
  • originatorPlaceOfIncorporation - Place of incorporation/formation
  • originatorCountry - Country code (ISO 3166-1 alpha-2)

Optional Fields

Enhanced Beneficiary Data

  • beneficiaryOrganization - Organization name (if different from legal name)
  • beneficiaryIdNumber - Registration number/LEI
  • beneficiaryIdType - ID type ("LEIX", "REGISTRATION_NUMBER", "TAX_ID")
  • beneficiaryIdCountryOfIssue - Issuing country
  • beneficiaryRegistrationAuthority - Registration authority
  • Address fields: buildingNumber, streetName, townName, postCode

Enhanced Originator Data

  • originatorIdNumber - Registration number/LEI
  • originatorIdType - ID type ("LEIX", "REGISTRATION_NUMBER", "TAX_ID")
  • originatorIdCountryOfIssue - Issuing country
  • originatorRegistrationAuthority - Registration authority
  • Address fields: originatorAddressLine1, originatorAddressLine2, originatorCity, originatorState, originatorPostalCode

Transaction Metadata

  • memo - Transaction description
  • purpose - Transaction purpose

Supported Entity Types

  • Corporation - Limited liability companies, PLCs
  • Partnership - General and limited partnerships
  • Trust - Trusts and foundations
  • Government Entity - Government departments and agencies
  • Non-Profit - NGOs and charitable organizations

ID Types

  • LEIX - Legal Entity Identifier (preferred)
  • REGISTRATION_NUMBER - Company registration number
  • TAX_ID - Tax identification number
  • OTHER - Other official identifier

Automatic Screening

Legal entities are screened against:

  • Sanctions Lists: Entity-specific sanctions (OFAC SDN, EU, UN)
  • Enforcement Actions: Regulatory enforcement lists
  • Ownership Screening: Beneficial ownership checks
  • PEP Connections: Politically exposed person associations
  • High-Risk Jurisdictions: Geographic risk assessment

Enhanced Due Diligence

For high-value transactions (over $100,000):

  • Beneficial ownership analysis
  • Enhanced sanctions screening
  • Regulatory compliance checks
  • Source of funds verification

Mixed Entity Transactions

{
"beneficiary": {
"beneficiaryIsLegalPerson": false,
"beneficiaryFirstName": "John",
"beneficiaryLastName": "Doe",
// ... natural person fields
},
"originator": {
"originatorIsLegalPerson": true,
"originatorLegalName": "Corporate Sender Inc.",
// ... legal person fields
}
}
{
"beneficiary": {
"beneficiaryIsLegalPerson": true,
"beneficiaryLegalName": "Recipient Corp Ltd",
// ... legal person fields
},
"originator": {
"originatorIsLegalPerson": false,
"originatorFirstName": "Jane",
"originatorLastName": "Smith",
// ... natural person fields
}
}

Code Examples

JavaScript/Node.js

const axios = require('axios');

async function createLegalPersonTransaction() {
try {
const response = await axios.post('https://api.trpcontinuum.com/trp/transactions/condensed', {
transaction: {
network: "ethereum",
virtualAsset: "Ethereum (ETH)",
amount: "1000000.00",
beneficiaryWalletAddress: "0x742C4B4f7c1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e",
originatorWalletAddress: "0x123abc456def789ghi012jkl345mno678pqr901stu",
memo: "Corporate acquisition payment",
purpose: "Business acquisition"
},
beneficiary: {
beneficiaryVaspId: "vasp_corp_456",
beneficiaryIsLegalPerson: true,
beneficiaryLegalName: "Target Acquisition Corp",
dateOfIncorporation: "2018-03-15",
placeOfIncorporation: "Singapore",
country: "SG",
beneficiaryIdNumber: "201812345G",
beneficiaryIdType: "REGISTRATION_NUMBER",
beneficiaryRegistrationAuthority: "ACRA Singapore"
},
originator: {
originatorIsLegalPerson: true,
originatorLegalName: "Acquiring Company Ltd",
originatorDateOfIncorporation: "2010-01-20",
originatorPlaceOfIncorporation: "Delaware, US",
originatorCountry: "US",
originatorIdNumber: "DE123456789",
originatorIdType: "LEIX",
originatorRegistrationAuthority: "Delaware Secretary of State"
}
}, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});

if (response.data.success) {
const transaction = response.data.data;

if (transaction.kycCheck.hasMatches) {
console.log(`Corporate transaction ${transaction.id} held for compliance review`);
console.log(`Risk assessment required for ${transaction.kycCheck.totalMatches} entity matches`);
// Notify compliance team
} else {
console.log(`Corporate transaction ${transaction.id} approved`);
console.log(`Amount: ${transaction.amount} ${transaction.virtualAsset}`);
// Proceed with transaction
}
}
} catch (error) {
console.error('Legal entity transaction failed:', error.response?.data);
}
}

Python

import requests
from datetime import datetime

def create_legal_person_transaction():
payload = {
"transaction": {
"network": "ethereum",
"virtualAsset": "Ethereum (ETH)",
"amount": "1000000.00",
"beneficiaryWalletAddress": "0x742C4B4f7c1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e",
"originatorWalletAddress": "0x123abc456def789ghi012jkl345mno678pqr901stu",
"memo": "Corporate acquisition payment",
"purpose": "Business acquisition"
},
"beneficiary": {
"beneficiaryVaspId": "vasp_corp_456",
"beneficiaryIsLegalPerson": True,
"beneficiaryLegalName": "Target Acquisition Corp",
"dateOfIncorporation": "2018-03-15",
"placeOfIncorporation": "Singapore",
"country": "SG",
"beneficiaryIdNumber": "201812345G",
"beneficiaryIdType": "REGISTRATION_NUMBER"
},
"originator": {
"originatorIsLegalPerson": True,
"originatorLegalName": "Acquiring Company Ltd",
"originatorDateOfIncorporation": "2010-01-20",
"originatorPlaceOfIncorporation": "Delaware, US",
"originatorCountry": "US",
"originatorIdNumber": "DE123456789",
"originatorIdType": "LEIX"
}
}

response = requests.post(
'https://api.trpcontinuum.com/trp/transactions/condensed',
json=payload,
headers={
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
)

if response.status_code == 200:
data = response.json()
if data['success']:
transaction = data['data']

if transaction['kycCheck']['hasMatches']:
print(f"Corporate transaction {transaction['id']} requires review")
print(f"Entity screening found {transaction['kycCheck']['totalMatches']} matches")

# Log match details for compliance team
for match in transaction['kycCheck'].get('matches', []):
print(f"- {match['name']} (Score: {match['score']}, Sources: {match['sources']})")
else:
print(f"Corporate transaction {transaction['id']} approved automatically")
print(f"Status: {transaction['status']}")

else:
print(f"Transaction failed: {data.get('message', 'Unknown error')}")
else:
print(f"HTTP Error: {response.status_code} - {response.text}")

Compliance Requirements

Enhanced Due Diligence Triggers

  • Transaction amount > $100,000
  • High-risk jurisdictions
  • Sanctions list matches
  • PEP connections
  • Adverse media mentions

Required Documentation

  • Certificate of Incorporation
  • Articles of Association
  • Beneficial Ownership Information
  • Board Resolutions (for large transactions)
  • Financial Statements (if required)

Beneficial Ownership

For legal entities, beneficial ownership screening includes:

  • Ultimate beneficial owners (over 25% ownership)
  • Senior management officials
  • Board of directors
  • Authorized signatories

Common Errors

Invalid Entity Data

{
"success": false,
"error": "INVALID_ENTITY_DATA",
"message": "Legal entity information incomplete or invalid",
"details": {
"missing_fields": ["dateOfIncorporation", "placeOfIncorporation"],
"invalid_fields": {
"beneficiaryIdType": "Invalid ID type for legal entities, expected: LEIX, REGISTRATION_NUMBER, TAX_ID"
}
}
}

Entity Not Found

{
"success": false,
"error": "ENTITY_VERIFICATION_FAILED",
"message": "Could not verify legal entity existence",
"details": {
"entityName": "Non-existent Corp",
"jurisdiction": "US",
"suggestion": "Verify entity name and registration details"
}
}

Testing

Low Risk (No Matches):

  • Beneficiary: "Test Corporation Ltd" / Incorporation: "2020-01-01"
  • Originator: "Demo Business Inc" / Incorporation: "2019-01-01"

High Risk (Will Generate Matches):

  • Beneficiary: "Rosneft Oil Company" / Incorporation: "1993-01-01" / Country: "RU"
  • Originator: "Bank of Kunlun" / Incorporation: "2006-01-01" / Country: "CN"

Jurisdiction Testing

Different jurisdictions may trigger different screening levels:

  • High Risk: Iran, North Korea, Syria
  • Medium Risk: Russia, Belarus, Myanmar
  • Standard Risk: US, UK, EU countries