Library

Transaction enrichment library for Rust

Use TxnKit as a transaction enrichment API from Rust. This page shows the safe request shape, a short code snippet, and the boundary for keeping sensitive data out of the integration.

Target intent

Rust services integrating transaction enrichment through an explicit HTTP client.

TxnKit returns confidence and warnings; it does not guarantee every descriptor resolves to a known merchant.

Raw descriptor

SPOTIFY USA 877-7781161

Short Rust API snippet

let result = reqwest::Client::new()
    .post("https://api.txnkit.dev/v1/enrich")
    .bearer_auth(std::env::var("TXNKIT_API_KEY")?)
    .json(&serde_json::json!({
        "raw_description": "SPOTIFY USA 877-7781161",
        "country": "CA"
    }))
    .timeout(std::time::Duration::from_secs(1))
    .send()
    .await?;

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": "SPOTIFY USA 877-7781161",
    "country": "CA"
  },
  "output": {
    "merchant_name": "Spotify",
    "category": "Streaming subscription",
    "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 Rust 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 returns confidence and warnings; it does not guarantee every descriptor resolves to a known merchant.
  • 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.

OpenAPI · Benchmark · Security · Pricing

Related pages