API Documentation
Build on Asset Haus with our comprehensive RESTful API
Core API Capabilities
Deal Management
- Create deals
- Update deal terms
- Upload documents
- Manage investors
- Close deals
Investor Operations
- Create investor accounts
- KYC submission
- Accreditation checks
- Investment processing
- Portfolio queries
Token Operations
- Issue tokens
- Transfer tokens
- Query balances
- Compliance checks
- Lock/unlock tokens
Payments & Distributions
- Process payments
- Initiate distributions
- Query transactions
- Reconciliation
- Refunds
Compliance & Reporting
- KYC/AML checks
- Sanctions screening
- Transfer restrictions
- Cap table exports
- Audit logs
Webhooks & Events
- Real-time events
- Payment notifications
- KYC status updates
- Token transfers
- Custom webhooks
Quick Start
1. Authentication
Request
curl -X POST https://api.asset.haus/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"grant_type": "client_credentials"
}'Response
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}2. Make API Request
Request
curl -X GET https://api.asset.haus/v1/deals \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"Response
{
"data": [
{
"id": "deal_abc123",
"name": "Manhattan Office Building",
"status": "open",
"raised": 2500000,
"target": 5000000
}
],
"total": 1
}Common API Endpoints
POST
/v1/dealsCreate a new tokenized dealGET
/v1/deals/:idRetrieve deal detailsPOST
/v1/investorsCreate investor accountPOST
/v1/investors/:id/kycSubmit KYC informationPOST
/v1/investmentsProcess an investmentGET
/v1/tokens/:address/balanceQuery token balancePOST
/v1/tokens/transferTransfer tokens between addressesPOST
/v1/distributionsInitiate investor distributionGET
/v1/transactionsList all transactionsGET
/v1/cap-table/:dealIdExport cap table dataWebhooks
Available Events
deal.createddeal.closedinvestor.createdkyc.completedkyc.failedinvestment.receivedinvestment.confirmedtoken.issuedtoken.transferreddistribution.initiateddistribution.completedpayment.receivedWebhook Payload Example
{
"event": "investment.confirmed",
"timestamp": "2025-10-17T10:30:00Z",
"data": {
"investment_id": "inv_xyz789",
"deal_id": "deal_abc123",
"investor_id": "inv_456",
"amount": 100000,
"currency": "USD",
"tokens_issued": 100000,
"status": "confirmed"
},
"signature": "sha256_signature_here"
}Security: All webhooks are signed with HMAC-SHA256. Verify the signature using your webhook secret.
SDKs & Libraries
Node.js
npm install @assethaus/sdkPython
pip install assethausRuby
gem install assethausGo
go get github.com/assethaus/go-sdkPHP
composer require assethaus/sdkJava
maven: com.assethaus:sdkAPI Features
RESTful architecture
OAuth 2.0 authentication
Rate limiting: 1000 req/min
Sandbox environment
Comprehensive error codes
JSON request/response
Webhook event notifications
API versioning (v1, v2)
Pagination support
Field filtering
99.9% uptime SLA
24/7 developer support
