Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xentfi.com/llms.txt

Use this file to discover all available pages before exploring further.

Base URL

All API requests are made to the following base URL:
https://api.xentfi.com/v1

API Overview

The XentFi API is organized around REST principles. It accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.

Available Endpoints

CategoryBase PathDescription
Master Wallets/master-walletsCreate and manage hierarchical wallets
Deposit Addresses/addressesGenerate and manage deposit addresses
Payment Links/payment/linksCreate hosted payment pages
Payment Intents/payment/intentsManage payment sessions
Settlement Rules/settlement-rulesConfigure auto-settlement rules
Transfers/transfersExecute cross-chain transfers
Swaps/swapsExecute token swaps
Webhooks/webhooksConfigure webhook endpoints
AML/amlSanctions screening and compliance

Request Format

Headers

All API requests must include the following headers:
HeaderRequiredDescription
apiKeyYesYour API key from the dashboard
appIdYesYour application ID
Content-TypeFor POST/PUTapplication/json
Idempotency-KeyRecommendedUnique key for safe retries

Example Request

curl -X GET https://api.xentfi.com/v1/master-wallets \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id"

Response Format

Success Response

All successful responses follow this structure:
{
    "data": {
        // Response data specific to the endpoint
    }
}

List Response

For endpoints that return multiple resources:
{
    "data": {
        "items": [],
        "total": 0,
        "hasMore": false,
        "offset": 0,
        "limit": 50
    }
}

Error Response

When an error occurs:
{
    "error": {
        "code": "ERROR_CODE",
        "message": "Human readable error message",
        "details": {},
        "timestamp": "2024-01-15T10:30:00.000Z",
        "requestId": "req_123e4567-e89b-12d3-a456-426614174000"
    }
}

HTTP Status Codes

CodeMeaningDescription
200OKRequest succeeded
201CreatedResource created successfully
400Bad RequestInvalid request format or parameters
401UnauthorizedMissing or invalid API key
403ForbiddenValid API key but insufficient permissions
404Not FoundRequested resource doesn’t exist
409ConflictResource already exists
422Unprocessable EntityValidation failed
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer error, retry later

Pagination

For endpoints that return lists, pagination is supported using offset and limit parameters.

Parameters

ParameterTypeDefaultDescription
offsetinteger0Number of items to skip
limitinteger50Maximum items to return (max 100)
orderstringDESCSort order (ASC or DESC)

Example

curl -X GET "https://api.xentfi.com/v1/master-wallets?offset=0&limit=20&order=DESC" \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id"

Filtering

Many endpoints support filtering on various fields:
FilterFormatExample
Date rangefrom and to?from=2024-01-01&to=2024-01-31
Exact matchfield=value?status=active
Partial matchfield=value (LIKE)?name=John

Idempotency

For state-changing operations (POST, PUT, DELETE), you can include an Idempotency-Key header to safely retry requests without duplicating actions.

How It Works

Best Practices

  • Generate UUID v4 for each idempotency key
  • Store keys for 24 hours
  • Use same key for retries
  • Different operations need different keys

Rate Limiting

Rate limits are applied per API key and returned in response headers:
HeaderDescription
X-RateLimit-LimitMaximum requests per window
X-RateLimit-RemainingRemaining requests in window
X-RateLimit-ResetTime when window resets (UTC epoch)

Versioning

The API version is included in the URL path. We guarantee backward compatibility within the same major version.
https://api.xentfi.com/v1/...

Version Lifecycle

VersionStatusSupport Until
v1CurrentTBD
v2PlannedFuture

SDKs

Official SDKs are available for popular languages:
LanguagePackageStatus
JavaScript/TypeScript@xentfi/sdkComing soon
PythonxentfiComing soon
Gogithub.com/xentfi/xentfi-goComing soon

Support

Next Steps