FluxA Monetize
Agent a8c2d142just usedLLM MerchantAgent 71f9b002just usedWeb ScraperAgent 3d2e1a90just usedImage GeneratorAgent b48c01f7just usedDeepSeek-V3Agent 0fa9e213just usedCold Email SkillAgent a8c2d142just usedLLM MerchantAgent 71f9b002just usedWeb ScraperAgent 3d2e1a90just usedImage GeneratorAgent b48c01f7just usedDeepSeek-V3Agent 0fa9e213just usedCold Email Skill
FluxA Monetize
API Server
2s

2s

List the official holidays for a country and year, with exact observed dates including substitute days (e.g. a Saturday July 4th observed on Friday). Query: country (ISO 3166-1 alpha-2, 200+ supported), year, optional region (subdivision code like CA for US-California or BY for DE-Bavaria), optional types filter (public, bank, school, optional, observance — comma-separated), optional lang (ISO 639-1) for localized names. Returns one item per holiday: { date (YYYY-MM-DD), name, type, substitute, rule }. Dates are computed from maintained per-country rules — including movable feasts and lunar-calendar holidays — so they stay correct year over year. Use for scheduling, delivery estimates, payment terms, and SLA math.

API URLhttps://2s.io
Endpoints
14 available
POST /api/calendar/holidaysActive

List the official holidays for a country and year, with exact observed dates including substitute days (e.g. a Saturday July 4th observed on Friday). Query: country (ISO 3166-1 alpha-2, 200+ supported), year, optional region (subdivision code like CA for US-California or BY for DE-Bavaria), optional types filter (public, bank, school, optional, observance — comma-separated), optional lang (ISO 639-1) for localized names. Returns one item per holiday: { date (YYYY-MM-DD), name, type, substitute, rule }. Dates are computed from maintained per-country rules — including movable feasts and lunar-calendar holidays — so they stay correct year over year. Use for scheduling, delivery estimates, payment terms, and SLA math.

$0.00 / 0.00 cr
POST /api/calendar/business-daysActive

Holiday-aware business-day calculator for 200+ countries. Three modes: pass start + addDays (signed integer) to shift a date by N business days; pass start + end to count business days between two dates (exclusive of start, inclusive of end); pass start alone to check one date (is it a business day, which holiday, next/previous business day). Query: country (ISO 3166-1 alpha-2), start (YYYY-MM-DD), optional region (subdivision code), addDays XOR end, optional weekend (comma-separated days, default sat,sun — e.g. fri,sat for the Gulf), optional types (holiday types treated as closures, default public,bank). Skipped holidays are itemized in the response. Use for payment terms, SLA deadlines, and delivery-date math.

$0.00 / 0.00 cr
POST /api/convert/unitActive

Convert a value between units of measure: mass (g, kg, mg, lb, oz, t, st), length (m, km, cm, mm, in, ft, yd, mi), volume (l, ml, m3, gal, gal-imp, qt, pt, cup, floz, tbsp, tsp), area (m2, km2, ft2, acre, ha), and temperature (C, F, K). Units are matched case-insensitively with common aliases (kg/kilogram/kgs). Returns {value, from, to, dimension, result}. Exact factors — the ground-truth answer a CPG/ETL pipeline needs instead of an LLM approximating conversions. Cross-dimension conversions (kg→m) return 400.

$0.00 / 0.00 cr
POST /api/vehicle/decode-wmiActive

Decode a 3-character World Manufacturer Identifier (the first three characters of a VIN) to the assigning manufacturer. Returns full manufacturer legal name, common short name, make, vehicle type, and the date NHTSA published the assignment. Useful for partial-VIN analysis — crash reports, damaged-vehicle photos, fleet records — where only the WMI is recoverable. Backed by NHTSA.gov vPIC; data is public-domain US government records.

$0.00 / 0.00 cr
POST /api/vehicle/vin-decodeActive

Decode a 17-character VIN to manufacturer-supplied vehicle metadata via NHTSA's vPIC database. Returns identity (year, make, model, trim, series, body class, manufacturer), assembly plant (city, state, country), engine (cylinders, displacement, HP, fuel type, configuration, engine model), transmission (style, speeds), and body/weight specs. Curated to the ~30 fields agents actually use from vPIC's ~140-field response. Backed by NHTSA.gov; data is public-domain US government records.

$0.00 / 0.00 cr
POST /api/geocode/addressActive

Forward geocoding — free-text address or place name → latitude/longitude plus structured address components (houseNumber, road, suburb, city, county, state, postcode, country, countryCode). Query: q (2-500 chars), limit (1-10, default 5), country (optional 2-letter ISO 3166-1 bias). Underlying data is OpenStreetMap (ODbL). Sister: /api/geocode/reverse.

$0.00 / 0.00 cr
POST /api/timezone/lookupActive

Resolve a coordinate to its IANA timezone and return the current UTC offset, local wall time, DST status, and short abbreviation. Query: lat (-90..90), lon (-180..180), at (optional ISO 8601 instant; defaults to now). Returns { tz, abbreviation, offsetMinutes, offsetHours, localTime, observesDst, isDst, januaryOffsetMinutes, julyOffsetMinutes, instant, source }. Polygon lookup against a CC0 timezone boundary index; offsets and DST come from the runtime tzdata so transition rules stay current. Use when scheduling for a coordinate, converting timestamps to local wall time, or checking whether a location is currently observing daylight saving.

$0.00 / 0.00 cr
POST /api/inflation/calculatorActive

Adjust a US dollar amount for inflation between two dates ('what is $100 in 1990 worth today?'). Pass amount, from (YYYY-MM-DD or YYYY), and optional to (defaults to the latest CPI month). Uses CPI-U (CPIAUCNS — the same not-seasonally-adjusted all-items index as the official BLS inflation calculator), data back to 1913. Returns the inflation-adjusted amount, cumulative inflation %, annualized rate, and the CPI index values used on each date. Source: BLS CPI via FRED (St. Louis Fed).

$0.00 / 0.00 cr
POST /api/airport/nearActive

Airports within a radius of a coordinate, sorted by distance. Query: lat (-90..90), lon (-180..180), radius_km (1-2000, default 200), limit (1-100, default 20), type (optional: large_airport|medium_airport|small_airport|heliport|seaplane_base|balloonport|closed), country (optional 2-letter ISO 3166-1), scheduled_service (optional bool, true = commercial-service airports only). Returns { query, count, airports: [{ id, ident, name, iataCode, icaoCode, type, latitude, longitude, distanceKm, ... }] }.

$0.00 / 0.00 cr
POST /api/business/naicsActive

Look up or search NAICS 2022 industry classification codes (US Census Bureau, public domain). Pass `code` for an exact NAICS code — 2–6 digits or a combined sector like 31-33 — and get its official title, hierarchy path, full official description, activity index terms, and direct child codes. Or pass `query` for free-text search (e.g. 'software publishers', 'coffee shop') over titles plus the official ~20k-entry activity index → ranked candidate codes, optionally filtered by `level` (2=sector … 6=national industry). Ground truth for industry coding in KYC, business registration, government filings, and ERP vendor/customer setup.

$0.00 / 0.00 cr
POST /api/business/leiActive

Look up or search the global LEI (Legal Entity Identifier) registry — the authoritative ISO 17442 directory of ~2.6M legal entities worldwide. Pass `lei` for an exact 20-character LEI, or `query` to search by legal/other name (ranked best-match first). Filter name search by `country` (ISO 2-letter, HQ country) and `status` (active = currently active entities only; all = default). Each result returns the LEI, legal name, an alternate/other name, legal jurisdiction, entity category (GENERAL/FUND/BRANCH/…), ISO 20275 legal-form code, entity status (ACTIVE/INACTIVE), LEI registration status (ISSUED/LAPSED/RETIRED/…), headquarters city/region/country/postal code, the initial registration + last update + next renewal dates, and the managing LOU. Use this to canonicalize a company name to its LEI, resolve a counterparty, or enrich a vendor master. Data: GLEIF Golden Copy (CC0, public domain).

$0.00 / 0.00 cr
POST /api/law/cfr-sectionActive

Fetch the authoritative text of any section of the US Code of Federal Regulations by title and section number — for example title 12, section 1026.43 returns Regulation Z’s ability-to-repay standards. Returns the canonical citation, section heading, full plain text, Federal Register source credit, the as-of date, and a link to the official eCFR page. An optional date parameter (YYYY-MM-DD) retrieves the historical text in force on that date, back to 2017. Data from the Electronic Code of Federal Regulations (US GPO / Office of the Federal Register), public domain, updated daily — verify regulatory citations against the authoritative source instead of relying on model memory.

$0.00 / 0.00 cr
POST /api/law/usc-sectionActive

Fetch the authoritative current text of any United States Code section by title and section number — for example title 17, section 107 returns the fair-use statute. Returns the canonical citation, heading, hierarchy context (title/chapter), full statutory plain text, the Statutes-at-Large source credit, and a link to the official OLRC page; set includeNotes=true to also get editorial notes (amendment history, effective dates). Hyphenated and lettered sections like 1395w-4 or 78j work. Data from the Office of the Law Revision Counsel current ("prelim") edition, public domain — verify statutory citations against the authoritative source instead of relying on model memory. For federal regulations see /api/law/cfr-section; for case law see /api/law/case-verify.

$0.00 / 0.00 cr
POST /api/medical/icd10Active

Verify and search ICD-10-CM diagnosis codes against the official US code set (FY2026, ~98k entries). Pass code (with or without the dot, e.g. E11.9 or E119) to confirm the code exists and list its more-specific child codes, or q to keyword-search code descriptions (e.g. "type 2 diabetes neuropathy"). Optional billable_only=true restricts results to codes valid for claim submission; limit caps results (1-50, default 10). Returns a verified flag, the exact match if any, and matched codes with billable status plus short and long descriptions. Data: CMS/NCHS ICD-10-CM (public domain), refreshed each US fiscal year. Use to confirm diagnosis codes are real and current before placing them in claims, prior authorizations, or clinical documents.

$0.00 / 0.00 cr
Integration
AI Agent Payment Instructions

Copy this prompt and paste it into your AI agent (like Claude, GPT-4, etc.) to enable automatic X-402 payment handling.

** Your task ** Call the API at: https://2s.io

Follow the steps below in order.

** Step 1 - Install FluxA Wallet CLI **
npm install -g @fluxa-pay/fluxa-wallet
Or use without installing: npx fluxa-wallet <command>

** Step 2 - Register agent **
fluxa-wallet init --name "<YOUR_AGENT_NAME>" --client "<YOUR_CLIENT>"
The response may include an authorization URL. Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<URL>"' to open in their browser.
Verify: fluxa-wallet status

** Step 3 - Discover endpoints **
curl https://2s.io
Returns JSON with: name, description, endpoints (paths, methods, descriptions, prices), paymentRequired, and networks.

** Step 4 - Choose payment method **
Ask the user: [On-chain USDC (Base)] or [FluxA Monetize Credits]

If USDC:
- --currency USDC
- --amount in atomic units (6 decimals, e.g., 100000 = 0.10 USDC)

If Credits (1 credit = 1 USDC):
- --currency FLUXA_MONETIZE_CREDITS
- --amount in 2-decimal units (e.g., 10 = 0.10 credits, 100 = 1.00 credits)

** Step 5 - Create an intent mandate **
x402 v3 uses intent mandates: the user pre-approves a spending plan (budget + time window), then the agent makes autonomous payments within those limits.

fluxa-wallet mandate-create \
  --desc "Spend up to <BUDGET> for <DESCRIPTION> valid for <DURATION>" \
  --amount <BUDGET_IN_UNITS> \
  --seconds <DURATION_IN_SECONDS> \
  --currency <USDC or FLUXA_MONETIZE_CREDITS>

Options:
- --desc (required): Human-readable spending plan description
- --amount (required): Budget in units for the chosen currency (see Step 4)
- --seconds (optional, default 28800 = 8h): Duration in seconds
- --currency (optional, default USDC): USDC or FLUXA_MONETIZE_CREDITS

** Step 6 - Get user to sign the mandate **
The response from Step 5 includes mandateId and authorizationUrl (TTL: 10 minutes).
Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<authorizationUrl>"' to open in their browser.

** Step 7 - Wait for mandate to be signed **
fluxa-wallet mandate-status --id <MANDATE_ID>
Poll until mandate.status is "signed". The response also includes remainingAmount.
Important: Use --id, not --mandate.

** Step 8 - Call the API **
curl https://2s.io
Optionally add the X-Agent-ID header for agent attribution (its value is the agent_id from 'fluxa-wallet status'): curl -H "X-Agent-ID: <YOUR_AGENT_ID>" https://2s.io
If it returns HTTP 402, continue to Step 9.

** Step 9 - Pay via x402 v3 **
Pass the complete HTTP 402 response body as --payload:

fluxa-wallet x402-v3 \
  --mandate <MANDATE_ID> \
  --payload '$PAYLOAD_402'

The payload must contain an accepts array. Do NOT extract individual fields - pass the entire 402 response JSON.
The response includes xPaymentB64 (the payment token).

** Step 10 - Retry with payment token **
Retry the same request with the X-Payment header (optionally add X-Agent-ID for attribution):
curl -H "X-Payment: <xPaymentB64>" <ORIGINAL_API_URL>
Return the raw API response to the user without post-processing.

** Opening links for user **
Whenever you need to open a URL (authorization, approval, or any external link):
1. Present the user with a choice using your interactive options/menu capability (e.g., AskUserQuestion tool)
2. Options: [Yes, open the link] [No, don't open]
3. If YES: run 'open "<URL>"' to open in their default browser
4. If NO: ask how they would like to proceed

** Error handling **
- mandate_not_signed: User hasn't signed yet - ask them to open authorizationUrl
- mandate_expired: Time window passed - create a new mandate
- mandate_budget_exceeded: Budget too low - create a new mandate with a higher limit
- agent_not_registered: No Agent ID - run 'fluxa-wallet init' first
- Invalid payload: missing accepts array: Pass the full 402 response JSON

Want to combine multiple APIs into one skill? Browse All APIs →