Sources are the starting point for any tax calculation in TaxMaxi. A source maps to a single onchain wallet address. You can list all sources attached to your account, or create a new one by providing a wallet address. Creating a source is idempotent — if you submit the same wallet address twice, the API returns the existing source rather than creating a duplicate. PassDocumentation Index
Fetch the complete documentation index at: https://docs.taxmaxi.com/llms.txt
Use this file to discover all available pages before exploring further.
sync: true in the create request to kick off a sync job immediately, saving you a separate API call.
List sources
Retrieves all sources associated with the authenticated user.Authorization: Bearer <token>
Response fields
Array of source objects belonging to your account.
Example
Response
Errors
| Status | Code | Description |
|---|---|---|
400 | SourceBadRequestError | The request is malformed or contains invalid parameters. |
500 | InternalServerError | An unexpected server error occurred. |
Create a source
Creates a new source for the given wallet address, or returns the existing source if one already exists for that address. Supports both authenticated and anonymous requests.Authorization: Bearer <token> — omit to create an anonymous source.
Request body
The source type. Must be
"onchain".The onchain wallet address to import. Must be a non-empty string.
A display name for the source. If omitted, the API assigns a default name.
When
true, starts a sync job immediately after the source is created or found. The response includes the sync job details in syncJob.The tax year to associate with this source. Must be 2020 or later.
The jurisdiction to use for tax calculations (e.g.
"germany").Response fields
The created or reused source.
true if a new source was created. false if an existing source was found and reused — no duplicate is created.Details of the sync job started on creation. Present only when you passed
sync: true; null otherwise.An anonymous claim handle. Returned only when the request is made without authentication. Use
claimToken to associate the source with an account later. null for authenticated requests.Examples
Response (sync: true)
Errors
| Status | Code | Description |
|---|---|---|
400 | SourceBadRequestError | The request body is missing required fields or contains invalid values. |
401 | UnauthorizedError | The bearer token is missing or invalid. |
402 | SourcePaymentRequiredError | Your account has reached its source limit or requires a paid plan. |
500 | InternalServerError | An unexpected server error occurred. |