Skip to content
Back to skills

Payments Intelligence Post Risk

ASecurity

Score a transaction for fraud risk by cross-checking the card BIN country against IP geolocation and billing country. Detects VPN, proxy, and TOR use.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 22, 2026
ai-agentsgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add bobadilla-tech/requiems-api-skills --skill payments-intelligence-post-risk --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Payments Intelligence Post Risk?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Payments Intelligence Post Risk
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bobadilla-tech-payments-intelligence-post-risk/badge)](https://www.skillsdirectory.com/skills/bobadilla-tech-payments-intelligence-post-risk)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: payments-intelligence-post-risk
api: Payments Intelligence System
method: POST
path: /v1/systems/transaction/risk
base_url: https://requiems.xyz
description: Score a transaction for fraud risk by cross-checking the card BIN country against IP geolocation and billing country. Detects VPN, proxy, and TOR use.
---

## Endpoint

**POST https://requiems.xyz/v1/systems/transaction/risk**

## Score Transaction Risk

Score a transaction for fraud risk by cross-checking the card BIN country against IP geolocation and billing country. Detects VPN, proxy, and TOR use.

## Parameters

| Name | Type | Required | Location | Description |
| ---- | ---- | -------- | -------- | ----------- |
| `card_bin` | string | yes | body | Card BIN (first 6–8 digits) to look up card issuing country. |
| `ip_address` | string | yes | body | Customer's IPv4 or IPv6 address. Must be a valid IP. |
| `billing_country` | string | no | body | ISO 3166-1 alpha-2 billing country code. When provided, country mismatch checks are more precise. |
| `amount_usd` | number | no | body | Transaction amount in USD. High-value transactions via VPN incur an additional risk score boost. |

## Request Example

```json
{
  "card_bin": "424242",
  "ip_address": "92.168.1.1",
  "billing_country": "DE",
  "amount_usd": 250.00
}
```

## Response Example

```json
{
  "data": {
    "risk_score": 0.55,
    "is_safe": false,
    "flags": ["ip_country_mismatch", "country_mismatch", "vpn_detected"],
    "signals": {
      "ip_country": "NL",
      "billing_country": "DE",
      "bin_country": "US",
      "vpn_detected": true,
      "is_proxy": false,
      "is_tor": false,
      "country_mismatch": true
    }
  },
  "metadata": {
    "timestamp": "2026-01-01T00:00:00Z"
  }
}
```

## Response Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `risk_score` | number | Transaction risk score from 0.0 to 1.0 |
| `is_safe` | boolean | True when score is below 0.5 and no TOR or proxy detected |
| `flags` | array<string> | Triggered flags. Possible values: ip_country_mismatch, bin_country_mismatch, country_mismatch, vpn_detected, proxy_detected, tor_detected, high_value_vpn |
| `signals.ip_country` | string | Country code resolved from the IP address |
| `signals.billing_country` | string | Billing country provided in the request, or null if omitted |
| `signals.bin_country` | string | Country of the card issuer resolved from the BIN |
| `signals.country_mismatch` | boolean | True when any country comparison produced a mismatch |

## Errors

- `undefined` **422** — ip_address is not a valid IPv4 or IPv6 address, or card_bin is missing
- `undefined` **401** — Missing or invalid API key

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…