> Posted by: card_veteran | Rank: Elite Member | Joined: 2022 [/I]
This guide is for security research and authorized testing only.
Let's talk about the fundamentals. Most beginners skip this and go straight to checking - that's how you get burned.
BIN (Bank Identification Number) analysis is the foundation of everything. Understanding how cards work, how BINs are structured, and how to build quality lists separates the professionals from the tourists.
---
βββ UNDERSTANDING CARD STRUCTURE βββ[/B]
Code:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CREDIT CARD STRUCTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β MMMM MMMM MMMM M L = Luhn Check Digit β
β ββββ¬βββ ββββββββββββββββββ β
β β ββββββββ¬βββββββ β
β β βββ issuer identification (BIN) β
β βββ account number (variable length) β
β β
β BIN Length: 6-8 digits (most common: 6) β
β Total Length: 13-19 digits (most common: 16) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Major Card Networks & BIN Ranges:
Code:
ββββββββββββββββ¬ββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β Network β BIN Range β Common Types β
ββββββββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββββββββ€
β Visa β 4xxx β Credit, Debit, Prepaid β
β Mastercard β 51-55, 2221-2720β Credit, Debit β
β Amex β 34, 37 β Credit (4-digit CVV) β
β Discover β 6011, 644-649 β Credit, Debit β
β JCB β 3528-3589 β Credit β
β UnionPay β 62, 81 β Credit, Debit β
β Maestro β 50, 56-58, 63 β Debit (UK focused) β
ββββββββββββββββ΄ββββββββββββββββββ΄βββββββββββββββββββββββββββββββ
---
βββ BIN ANALYSIS TOOLS βββ
What BIN Info Tells You:
Code:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BIN Lookup Results β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ€
β Bank β Chase, Wells Fargo, Citi, etc. β
β Country β US, UK, DE, FR, BR, etc. β
β Type β Credit, Debit, Prepaid, Gift β
β Level β Classic, Gold, Platinum, Infinite β
β Category β Commercial, Consumer, Travel β
β Internet β PAN Present (Online) - Yes/No β
β Contactless β Tap to Pay - Yes/No β
β Chip β EMV Chip - Yes/No β
β Country Code β ISO 3166-1 numeric code β
β Currency β USD, EUR, GBP, BRL β
ββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
Free BIN APIs:
Code:
# BIN Lookup API Examples
https://api.binlist.net/{BIN}
https://github.com/wadewang/binlist/raw/master/bins.json
# Python Example
import requests
def get_bin_info(bin_number):
url = f"https://api.binlist.net/{bin_number}"
response = requests.get(url)
return response.json()
# Usage
info = get_bin_info("411111")
print(f"Bank: {info['bank']['name']}")
print(f"Country: {info['country']['alpha2']}")
print(f"Type: {info['type']}")
print(f"Level: {info['level']}")
---
βββ LIST QUALITY ASSESSMENT βββ
Key Quality Indicators:
Code:
1. Freshness
- When was the list created?
- Are cards still active?
- Check with $1 validation
2. Format Quality
- Correct Luhn checksum?
- Proper formatting (XXXX XXXX XXXX XXXX)?
- Complete CVV2/CVV2 data?
3. Source Reliability
- Where did the list come from?
- Is it from a known leak?
- Check breach databases
4. BIN Distribution
- Mix of countries?
- Mix of card types?
- Healthy percentage of premium cards?
Automated Quality Checker:
Code:
#!/usr/bin/env python3
"""
Card List Quality Analyzer
"""
import hashlib
import json
import requests
from datetime import datetime
def luhn_check(card_number):
"""Validate card number using Luhn algorithm"""
digits = [int(d) for d in str(card_number) if d.isdigit()]
checksum = 0
reverse_digits = digits[::-1]
for i, digit in enumerate(reverse_digits):
if i % 2 == 1:
digit *= 2
if digit > 9:
digit -= 9
checksum += digit
return checksum % 10 == 0
def analyze_list(file_path):
"""Analyze quality of a card list"""
results = {
"total_cards": 0,
"valid_luhn": 0,
"invalid_luhn": 0,
"bins": {},
"countries": {},
"formats": {
"full_cvv": 0,
"cvv_only": 0,
"no_cvv": 0,
}
}
with open(file_path, 'r') as f:
for line in f:
line = line.strip()
if not line:
continue
results["total_cards"] += 1
# Extract card number
parts = line.split(':')
card_num = parts[0] if parts else line
# Luhn check
if luhn_check(card_num):
results["valid_luhn"] += 1
else:
results["invalid_luhn"] += 1
# BIN analysis
bin_code = card_num[:6]
results["bins"][bin_code] = results["bins"].get(bin_code, 0) + 1
# CVV check
if len(parts) >= 3 and parts[2]:
results["formats"]["full_cvv"] += 1
elif len(parts) >= 2 and parts[1]:
results["formats"]["cvv_only"] += 1
else:
results["formats"]["no_cvv"] += 1
return results
if __name__ == "__main__":
import sys
if len(sys.argv) != 2:
print(f"Usage: {sys.argv[0]} <list_file>")
sys.exit(1)
results = analyze_list(sys.argv[1])
print(json.dumps(results, indent=2))
---
βββ LIVE vs DEAD CARDS βββ
Understanding Card Status:
Code:
LIVE Cards:
β’ Active and valid
β’ Have available credit/balance
β’ Can be used for purchases
β’ CVV2 matches
TEST/FAILED Cards:
β’ Declined during validation
β’ May be invalid, expired, or frozen
β’ Usually indicates bad list quality
β’ Not necessarily dead - could be AVS mismatch
DEAD Cards:
β’ Reported lost/stolen
β’ Closed accounts
β’ Frozen by bank
β’ Cannot be used
GAP Cards:
β’ Unknown status
β’ Need validation to determine
β’ Usually the majority of fresh lists
Validation Methods:
Code:
# Paperless methods (safer)
β’ $0.00 auth checks
β’ CVV2 verification
β’ AVS (Address Verification) checks
β’ Chip vsη£ζ‘ checks
# Paper methods (higher risk)
β’ Physical card validation
β’ ATM checks
β’ POS terminal tests
β’ Carding machines
# Always use proxy rotation for validation
# Never reuse IPs
# Rotate user agents
---
βββ QUICK REFERENCE βββ
Code:
β
Always check Luhn validity first
β
Use BIN lookup for card details
β
Fresh lists = higher success rate
β
Mix of BINs = better results
β
$1 validation before bulk operations
β
Track your validation results
β
Never share lists publicly
---
Questions? Drop 'em below.
Next: Checkout automation techniques.
Last edited by card_veteran; 2 hours ago.
[SIG]ββββββββββββββββββββββββββββββββββββββββ
card_veteran | Elite Member | List Analyst
ββββββββββββββββββββββββββββββββββββββββ[/SIG][/b][/b][/b][/b]