Frequently Asked Questions
Find answers to common questions about integrating with Link Tracker.
General Questions
What is Link Tracker?
Link Tracker is a centralized activity logging and event monitoring microservice for the LedgerLink platform. Built with NestJS and MongoDB, it captures, stores, and retrieves system-wide events and logs, enabling comprehensive monitoring, debugging, and audit trails across all platform services.
Technology Stack:
- NestJS backend framework
- MongoDB for log storage
- ActiveMQ/STOMP for real-time message streaming
- RESTful API with Swagger/OpenAPI documentation
What types of events can Link Tracker monitor?
Link Tracker monitors 50+ event types across the platform including:
Transaction Events:
- Transaction lifecycle (TRANSACTION_RECEIVED, TRANSACTION_STATUS_CHANGED, TRANSACTION_VALUED)
- Transaction validation (TRANSACTION_BLOCKED, TRANSACTION_PASSED)
- Transaction processing (TRANSACTION_SENT_TO_INSTITUTION, TRANSACTION_PROCESSING_ERROR)
Participant & Account Events:
- Participant management (PARTICIPANT_CREATED, PARTICIPANT_DELETED)
- Account operations (ACCOUNT_CREATED, ACCOUNT_BALANCE_INQUIRY_SUCCESS)
- Omnibus and fee payer accounts (OMNIBUS_ACCOUNT_CREATED, FEE_PAYER_ACCOUNT_CREATED)
System Events:
- Application lifecycle (APPLICATION_STARTED, APPLICATION_STOPPED, APPLICATION_READY)
- Error tracking (ERROR, INVALID_TRANSACTION)
Valuation & Asset Events:
- Valuation processing (VALUATION_REQUESTED, VALUATION_PROCESSED)
- Asset management (ASSET_NOT_FOUND)
External Institution Events:
- Customer verification, account creation, balance inquiries
Blockchain Events:
- CCTP swaps and cross-chain operations
Ledger Events:
- Ledger updates and balance management
Which services integrate with Link Tracker?
Currently, Link Tracker receives logs from all LedgerLink services including:
- Link Core: Core business logic, participant management, transaction processing
- Link Quote: Digital asset pricing and rate management
- Wallet Manager: Digital asset wallet operations and balance management
- Link Router: Request routing and service orchestration
- Blockchain Listener: Blockchain event monitoring and transaction tracking
- External Institution Integrations: Banking and payment processor connections
All services publish logs via ActiveMQ message queue using the add_log_message pattern.
Authentication & Security
How do I obtain API credentials?
- Complete the onboarding process with our sales team
- Provide required compliance documentation
- Once approved, you'll receive sandbox credentials for testing
- Production credentials are provided after security review
How long are JWT tokens valid?
- Access tokens: 1 hour
- Refresh tokens: 30 days
- Implement token refresh logic in your application
What security measures should I implement?
- Store API keys securely (environment variables, key management systems)
- Use HTTPS for all communications
- Implement proper authentication flows
- Enable IP allow listing for production endpoints
- Rotate API keys regularly
Can I use the same API key for multiple environments?
No, API keys are environment-specific:
- Sandbox keys only work in the sandbox environment
- Production keys only work in the production environment
- This prevents accidental production operations during testing
Technical Questions
What are the API rate limits?
Link Dashboard (Auth Server): Rate limiting is implemented at the Dashboard/Auth Server level to protect the entire platform.
Link Tracker Service: No rate limiting at the service level (relies on Dashboard protection).
Best Practices:
- Dashboard rate limiting protects against excessive requests
- Implement client-side caching to reduce API calls
- Use appropriate pagination (limit/offset parameters)
- Monitor your request patterns
How do I handle API errors?
Implement proper error handling:
- Check HTTP status codes
- Parse error response JSON
- Implement retry logic for retryable errors
- Log errors for monitoring
See our Error Handling Guide for details.
What monitoring and logging is available?
- Request logs: Available in your dashboard
- Transaction history: Complete audit trail
- Performance metrics: Response times and error rates
- Event streams: Real-time log monitoring
Log Message Questions
Can I delete old logs?
Log deletion policies vary by type:
- Activity logs: Automatically purged based on retention policy
- Audit logs: Cannot be deleted (regulatory compliance)
- Custom logs: Can be deleted via API with proper permissions
What's the maximum log message size?
- Standard logs: 64 KB per message
- Metadata: 32 KB per field
- Batch operations: Up to 100 messages per request
How do I query logs efficiently?
Best practices for efficient log queries:
- Use specific filters: service name, requestId, event type
- Use date ranges: Both startDate AND endDate must be provided together
- Implement pagination: Use offset and limit parameters (default limit: 10, max: 100)
- Use regex wisely: Service and requestId filters use case-insensitive regex matching
- Sort strategically: Sort by timestamp for chronological ordering
- Cache frequently accessed logs: Reduce API calls for repeated queries
Note: MongoDB regex queries are powerful but can be slower on large datasets - be as specific as possible.
Can I subscribe to real-time log updates?
Yes, Link Tracker supports real-time log streaming via ActiveMQ/STOMP:
- Services publish logs directly to ActiveMQ message queue
- Subscribe to the
add_log_messagemessage pattern - Filter by service, event type, or request ID
- Receive immediate notifications of new logs
- Maintain persistent connections for continuous monitoring
For direct REST API polling, query with filters and implement short polling intervals.
Data & Privacy
Where is my data stored?
Link Tracker uses MongoDB for log storage:
- Primary database: MongoDB cluster (AWS/cloud-hosted)
- Data encryption: All data encrypted at rest and in transit
- Scalability: Document-based storage optimized for log data
Log data is stored in MongoDB collections with flexible schema to accommodate diverse event metadata.
Troubleshooting
My API calls are failing with 401 errors
Check:
- API key is correct and not expired
- Using the right environment (sandbox vs production)
- JWT token is valid and not expired
- Headers are properly formatted
I'm getting rate limited
If you encounter rate limiting (429 errors from the Dashboard Auth Server):
- Implement exponential backoff
- Reduce request frequency
- Implement client-side caching
- Optimize API usage patterns (use pagination, avoid polling)
Logs are not appearing in real-time
Possible causes:
- WebSocket connection interrupted
- Filtering too restrictive
- Service delays during high load
- Check connection status and reconnect if needed
Transaction processing is slow
Consider:
- Banking network delays (normal for deposits)
- AML review requirements (manual review needed)
- Peak processing times (higher volume periods)
- Network connectivity issues
Support & Maintenance
What support is available?
- Documentation: Comprehensive guides and API reference
- Email Support: helpdesk@ledgerlink.ai
- JIRA: Report bugs and request features
- Development Team: Contact for technical assistance
How do I report a bug or request a feature?
- Bugs: Contact support with detailed reproduction steps
- Feature Requests: Submit through your account dashboard
- Bug Reports: Report issues via JIRA
Can't find what you're looking for? Contact helpdesk@ledgerlink.ai or create an issue in the GitHub repository.