Library
Transaction enrichment library for .NET
Use TxnKit as a transaction enrichment API from .NET. This page shows the safe request shape, a short code snippet, and the boundary for keeping sensitive data out of the integration.
Target intent
.NET teams adding transaction enrichment to server-side finance applications.
TxnKit is not an accounting engine, tax classifier, or transaction data warehouse.
Raw descriptor
VISA DDA PUR 5542 GAS BARShort .NET API snippet
using var client = new HttpClient { Timeout = TimeSpan.FromSeconds(1) };
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("TXNKIT_API_KEY"));
var response = await client.PostAsJsonAsync("https://api.txnkit.dev/v1/enrich", new {
raw_description = "VISA DDA PUR 5542 GAS BAR",
country = "CA"
});Keep API keys out of browser bundles. For frontend stacks, call a backend route or serverless function that owns the TxnKit request.
API-shaped output
{
"input": {
"descriptor": "VISA DDA PUR 5542 GAS BAR",
"country": "CA"
},
"output": {
"merchant_name": "Gas Bar",
"category": "Fuel",
"confidence": "medium",
"signals": [
"processor_pattern",
"merchant_alias",
"category_hint"
],
"warnings": [
"review_low_confidence_matches_before_showing_logo"
],
"logos": []
}
}Low-confidence results should keep fallback labels and warnings visible instead of forcing a guessed logo or website.
When to use
- You are building in .NET and need one-descriptor merchant cleanup through an HTTP API.
- Your app can keep the TxnKit API key on the server side or inside a trusted serverless function.
- You need merchant display names, categories, confidence, signals, warnings, and logo-ready metadata.
When not to use
- TxnKit is not an accounting engine, tax classifier, or transaction data warehouse.
- Do not use TxnKit to process card numbers, account numbers, full statements, bank credentials, emails, phone numbers, addresses, customer names, or customer PII.
- Do not use TxnKit when the product requirement is guaranteed merchant identity, every-merchant resolution, or contracted uptime terms.
Proof surfaces
The public contract is POST /v1/enrich, backed by the OpenAPI file, benchmark examples, privacy rules, and deterministic request-path tests.