Skip to main content

Frequently Asked Questions

Find answers to common questions about integrating with Link Tracker.

General Questions

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

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

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?

  1. Complete the onboarding process with our sales team
  2. Provide required compliance documentation
  3. Once approved, you'll receive sandbox credentials for testing
  4. 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_message message 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.