Vault Formation Create Vault Creates a new vault with specified configuration. Endpoint POST /api/v1/vaults Sample Request { "vault_name": "Example Vault", "vault_type": "public", "privacy_type": "semi-private", "admin_user": { "wallet_address": "addr1q9example123", "email": "admin@example.com" }, "asset_settings": { "allowed_asset_types": ["NFT", "CNT"], "policy_ids": ["policy12345", "policy67890"], "valuation_type": "LBE", "floor_price_percentage": 90, "max_assets": 100 }, "investment_settings": { "investment_window_duration": "48h", // ISO-like duration "investment_start_time": "2024-11-24T10:00:00Z", // Optional; defaults to vault creation time "minimum_investment_reserve": 10.0, "ft_supply": 100000, "ft_token_decimals": 6, "lp_percentage": 10 }, "governance_settings": { "creation_threshold": 5, "start_threshold": 10, "vote_threshold": 50, "execution_threshold": 60, "cosigning_threshold": 3 } } Sample Response (201: Created) { "vault_id": "vault123", "vault_name": "Example Vault", "transaction": { "tx_hash": "b26f8c9a0d1a4a9b8b12f9f9a8c1234567e9d0f1c234567890abcdef", "status": "confirmed", "block_height": 1234567 }, "investment_window": { "duration": "48h", "start_time": "2024-11-24T10:00:00Z", "end_time": "2024-11-26T10:00:00Z" }, "status": "created", "created_at": "2024-11-23T10:00:00Z" } Add Assets to Vault Add assets during the asset window period. HTTP Request POST /api/v1/vaults/{vaultId}/assets Sample Request { "policy_id": "policy12345", "asset_name": "ExampleAsset", "valuation_method": "floor_price", "metadata": { "creator": "CreatorAddress", "legal_proof": "https://proof.example.com/doc.pdf" } } Sample Response (201: Created) { "vault_id": "vault123", "asset_id": "asset456", "transaction": { "tx_hash": "a92f81e3b69c4d12b34c567890fabcde1234567890abcdef56789abc", "status": "confirmed", "block_height": 1234570 }, "status": "added", "valuation": { "method": "floor_price", "value": 1000000 }, "created_at": "2024-11-23T11:00:00Z" } Remove Asset Remove assets during the asset window period. Will fail if attempted before or after the window period. Endpoint DELETE /api/v1/vaults/{vaultId}/assets/{assetId} Sample Response { "status": "success", "data": { "assetId": "asset_123", "removalStatus": "COMPLETED", "transactionHash": "tx_hash789...", "updatedValuation": { "total": "140000", "timestamp": "2024-12-01T01:35:00Z" } } } Get Vault Valuation Calculate current vault valuation based on assets. HTTP Request GET /api/v1/vaults/{vaultId}/valuation Sample Response { "status": "success", "data": { "valuation": { "total": "150000", "breakdown": { "nftValue": "120000", "cntValue": "30000" }, "assetCounts": { "nfts": 2, "cnts": 1 }, "timestamp": "2024-12-01T01:30:00Z" } } } List Vault Assets List all assets in the vault. HTTP Request GET /api/v1/vaults/{vaultId}/assets Sample Response { "status": "success", "data": { "assets": [{ "assetId": "asset_123", "type": "NFT", "contractAddress": "addr_nft123...", "tokenId": "42", "addedAt": "2024-12-01T01:00:00Z", "status": "LOCKED", "currentValue": "90000" }], "pagination": { "page": 1, "limit": 20, "total": 45 } } } Update Vault AllowList Updates the list of wallets allowed to participate in the vault, and their type. HTTP Request PATCH /api/v1/vaults/{vaultId}/allowlist Sample Request { "type": "ASSET|CONTRIBUTOR|INVESTOR", "operation": "ADD|REMOVE", "addresses": ["addr1...", "addr2..."] } Sample Response { "status": "success", "data": { "updatedAllowList": { "type": "ASSET", "count": 24, "lastUpdated": "2024-12-01T02:00:00Z" } } } Vaut Performance Metrics Returns some vault performance metrics. HTTP Request GET /api/v1/vaults/{vaultId}/metrics Sample Response { "status": "success", "data": { "valuation": { "initial": "100000", "current": "150000", "change": "50.00" }, "participation": { "uniqueVoters": 45, "averageQuorum": "68.00", "proposalCount": 12 }, "timeline": { "created": "2024-11-20T10:00:00Z", "locked": "2024-12-01T02:00:00Z", "age": "11d 16h" } } } Vault Activity Returns a vault activity log. HTTP Request GET /api/v1/vaults/{vaultId}/activity Sample Response { "status": "success", "data": { "activities": [{ "type": "ASSET_ADDED|PROPOSAL_CREATED|VOTE_CAST", "timestamp": "2024-12-01T01:00:00Z", "actor": "addr_user123...", "details": {}, "transactionHash": "tx_hash123..." }], "pagination": { "page": 1, "limit": 20, "total": 156 } } } Update Vault Settings Lets you update modifiable vault settings. Sample Request { "investorAllowList": { "enabled": true, "addresses": ["addr1..."] }, "valuationType": "LBE", "termination": { "fdp": "12.00" } } This would return the standard Success/Fail response object.