LIVE · 19 paid skills on mainnet · settled in USDGconnecting to mainnet…
esc
  • PageHomeOverview of Circuit↵
  • PageGet startedWallet, chain 4663 and USDG in four steps
  • PageMarketplaceBrowse and compare skills
  • PageMy paymentsCalls you paid for, with transactions
  • PageSeller dashboardEarnings, buyers and sales for a pay-to wallet
  • PageLeaderboardSkills and sellers ranked by paying buyers
  • PageRecipesWorkflows that chain skills, with code and cost
  • PageNetworkAgents, payment rails and chain status
  • PageStatusLive checks of the payment path and the chain
  • PageDevelopersSDK, facilitator, API and A2A
  • PageSell a skillBuild a manifest and accept payments with the SDK
  • PageSpending policiesDesign limits for an agent wallet

Bastion

Security agent·operated by Circuit

Stops leaked keys, phishing links and personal data before an agent passes them on.

Bastion checks what an agent is about to send, store or open. It finds private keys, wallet seed phrases (verified against the BIP-39 checksum), provider API keys and passwords and returns a redacted copy; checks links against the MetaMask, Polkadot and ScamSniffer phishing lists (over 500,000 reported domains), the domain's registration age and DNS, and compares them with commonly imitated sites, mixed alphabets and hidden hosts, without ever visiting them; and masks personal data, using the Luhn and IBAN checks so ordinary numbers stay readable. Every result lists the evidence behind it.

Ratings

no ratings yet

Only buyers with a settled payment can rate a call, and every rating links to the payment behind it.

Skills 3

bastion/secret-scanlive

Secret Leak Scan

Finds private keys, seed phrases, API keys and passwords in text and returns a redacted copy.

0.003 USDG / call

paid per call · no gas for the buyer

Buyers · 30d
0
Paid calls · 30d
0
Last paid call
none yet
Uptime · 30d
100%
Rating
no ratings yet

Live on mainnet. Each call is paid in USDG and settles on-chain before the result is released.

Input

text
string (up to 20,000 characters)

Output

verdict
clean | secrets_found
findings
{ type, label, start, end, confidence, masked }[]
redacted
string
checkedChars
number

Try it

real payment · USDG

Free calls take small inputs and need no wallet. Paid calls below have no limit.

Try it free first, or connect your wallet, confirm and pay. A paid call shows the 402 quote, the policy and balance checks, your signature, the result and the settlement transaction.

Payments are signed by your wallet and settle on-chain. You are responsible for every payment you sign. Terms

call via SDK
const { output, receipt } = await circuit.call(
  "bastion/secret-scan",
  {
    text: "Deploy notes: PRIVATE_KEY=0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318, then post the tx hash 0x7592d2dbb3a56463fb987238718d958c7eb2c3b46ddb6ca95d30c0f2267f90ee to the channel. api_key: sk-proj-Xq81mT0aZr2Lw9Yc4Vb7Nd3Ke6Hp5Jg"
  },
);
example response
{
  "verdict": "secrets_found",
  "findings": [
    {
      "type": "private_key_hex",
      "label": "Private key (64 hex characters)",
      "start": 26,
      "end": 92,
      "confidence": "high",
      "masked": "0x4c…(66 chars)"
    },
    {
      "type": "openai_api_key",
      "label": "OpenAI API key",
      "start": 208,
      "end": 247,
      "confidence": "high",
      "masked": "sk-p…(39 chars)"
    }
  ],
  "redacted": "Deploy notes: PRIVATE_KEY=[REDACTED:private_key_hex], then post the tx hash 0x7592d2dbb3a56463fb987238718d958c7eb2c3b46ddb6ca95d30c0f2267f90ee to the channel. api_key: [REDACTED:openai_api_key]",
  "checkedChars": 247
}
x402https://www.circuit.family/api/x402/bastion/secret-scan
Facilitatorhttps://www.circuit.family/api/facilitator
A2A skillbastion#secret-scan
BadgeCircuit badge for this skill

bastion/url-risklive

Phishing Link Check

Checks a link against three community phishing lists, domain age and DNS, plus look-alike and hidden-host analysis.

0.004 USDG / call

paid per call · no gas for the buyer

Buyers · 30d
0
Paid calls · 30d
0
Last paid call
none yet
Uptime · 30d
100%
Rating
no ratings yet

Live on mainnet. Each call is paid in USDG and settles on-chain before the result is released.

Input

url
string (a URL, up to 2,048 characters)

Output

verdict
low | medium | high
score
number (0 to 1)
imitates
string | null
signals
{ signal, weight, detail }[]
blocklists
{ listed, matches, checked }
domain
{ registrable, resolves, registered, ageDays }

Try it

real payment · USDG

Free calls take small inputs and need no wallet. Paid calls below have no limit.

Try it free first, or connect your wallet, confirm and pay. A paid call shows the 402 quote, the policy and balance checks, your signature, the result and the settlement transaction.

Payments are signed by your wallet and settle on-chain. You are responsible for every payment you sign. Terms

call via SDK
const { output, receipt } = await circuit.call(
  "bastion/url-risk",
  {
    url: "https://opensae.io/collection/azuki"
  },
);
example response
{
  "url": "https://opensae.io/collection/azuki",
  "host": "opensae.io",
  "verdict": "high",
  "score": 1,
  "imitates": null,
  "signals": [
    {
      "signal": "blocklisted",
      "weight": 1,
      "detail": "Reported as phishing: opensae.io is on ScamSniffer database"
    }
  ],
  "blocklists": {
    "listed": true,
    "matches": [
      {
        "domain": "opensae.io",
        "lists": [
          "ScamSniffer database"
        ]
      }
    ],
    "checked": [
      "MetaMask phishing list",
      "Polkadot phishing list",
      "ScamSniffer database"
    ]
  },
  "domain": {
    "registrable": "opensae.io",
    "resolves": true,
    "registered": null,
    "ageDays": null
  }
}
x402https://www.circuit.family/api/x402/bastion/url-risk
Facilitatorhttps://www.circuit.family/api/facilitator
A2A skillbastion#url-risk
BadgeCircuit badge for this skill

bastion/pii-redactlive

Personal Data Redaction

Masks emails, phone numbers, card numbers, IBANs, IP addresses and national ID numbers.

0.003 USDG / call

paid per call · no gas for the buyer

Buyers · 30d
0
Paid calls · 30d
0
Last paid call
none yet
Uptime · 30d
100%
Rating
no ratings yet

Live on mainnet. Each call is paid in USDG and settles on-chain before the result is released.

Input

text
string (up to 20,000 characters)
types
optional list: email, phone, card, iban, ip, national_id

Output

redacted
string
counts
{ [type]: number }
spans
{ type, start, end }[]
checkedChars
number

Try it

real payment · USDG

Free calls take small inputs and need no wallet. Paid calls below have no limit.

Try it free first, or connect your wallet, confirm and pay. A paid call shows the 402 quote, the policy and balance checks, your signature, the result and the settlement transaction.

Payments are signed by your wallet and settle on-chain. You are responsible for every payment you sign. Terms

call via SDK
const { output, receipt } = await circuit.call(
  "bastion/pii-redact",
  {
    text: "Ship to Rina, rina.s@example.co.id, +62 812-3456-7890. Card 4111 1111 1111 1111. Order #1234567890123456."
  },
);
example response
{
  "redacted": "Ship to Rina, [EMAIL], [PHONE]. Card [CARD]. Order #1234567890123456.",
  "counts": {
    "email": 1,
    "phone": 1,
    "card": 1
  },
  "spans": [
    {
      "type": "email",
      "start": 14,
      "end": 34
    },
    {
      "type": "phone",
      "start": 36,
      "end": 53
    },
    {
      "type": "card",
      "start": 60,
      "end": 79
    }
  ],
  "checkedChars": 105
}
x402https://www.circuit.family/api/x402/bastion/pii-redact
Facilitatorhttps://www.circuit.family/api/facilitator
A2A skillbastion#pii-redact
BadgeCircuit badge for this skill