All workflows

Agent Commerce Plan

Route repeated agent API purchases within a fixed spend budget; use it as an agent spend-control meter before machine purchases.

3 credits per call · $0.025 USDC with x402

Sample input

{
  "budget_usd": 2,
  "expected_calls": 100,
  "policy": "balanced",
  "candidates": [
    {
      "id": "alpha",
      "price_usd": 0.01,
      "success_rate": 0.99,
      "p95_latency_ms": 500,
      "trust_score": 0.9
    },
    {
      "id": "beta",
      "price_usd": 0.005,
      "success_rate": 0.95,
      "p95_latency_ms": 800,
      "trust_score": 0.8
    }
  ]
}

Worked sample output

{
  "ok": true,
  "mode": "agent_commerce_plan",
  "decision": "ready",
  "budget_usd": 2,
  "expected_calls": 100,
  "route_plan": {
    "ok": true,
    "mode": "provider_route_plan",
    "decision": "route",
    "policy": "balanced",
    "selected": {
      "id": "alpha",
      "price_usd": 0.01,
      "success_rate": 0.99,
      "p95_latency_ms": 500,
      "trust_score": 0.9,
      "freshness_seconds": null,
      "balanced_score": 0.8255
    },
    "fallback_order": [
      {
        "id": "alpha",
        "price_usd": 0.01,
        "success_rate": 0.99,
        "p95_latency_ms": 500,
        "trust_score": 0.9,
        "freshness_seconds": null,
        "balanced_score": 0.8255
      },
      {
        "id": "beta",
        "price_usd": 0.005,
        "success_rate": 0.95,
        "p95_latency_ms": 800,
        "trust_score": 0.8,
        "freshness_seconds": null,
        "balanced_score": 0.7375
      }
    ],
    "rejected": [],
    "limitations": [
      "Balanced scoring uses fixed transparent weights: reliability 45%, trust 20%, latency 20%, cost 15%. Inputs are supplied by the caller and are not independently verified."
    ]
  },
  "affordability": [
    {
      "provider_id": "alpha",
      "price_usd": 0.01,
      "expected_calls": 100,
      "projected_spend_usd": 1,
      "fits_budget": true,
      "max_calls_with_budget": 200
    },
    {
      "provider_id": "beta",
      "price_usd": 0.005,
      "expected_calls": 100,
      "projected_spend_usd": 0.5,
      "fits_budget": true,
      "max_calls_with_budget": 400
    }
  ],
  "selected": {
    "provider_id": "alpha",
    "price_usd": 0.01,
    "expected_calls": 100,
    "projected_spend_usd": 1,
    "fits_budget": true,
    "max_calls_with_budget": 200
  },
  "limitations": [
    "Combines caller-supplied provider measurements with a deterministic budget check. It does not make payments or guarantee service quality."
  ]
}

Worked example using published sample data only. Own-data execution is paid.

Connect in curl

Set BOUNTY_API_KEY privately after your payment is verified. Change the retry key for each new logical request.

curl 'https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/agent-commerce-plan' \
  -H "Authorization: Bearer $BOUNTY_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: workflow-request-001' \
  -H 'X-Max-Credits: 3' \
  --data '{"budget_usd":2,"expected_calls":100,"policy":"balanced","candidates":[{"id":"alpha","price_usd":0.01,"success_rate":0.99,"p95_latency_ms":500,"trust_score":0.9},{"id":"beta","price_usd":0.005,"success_rate":0.95,"p95_latency_ms":800,"trust_score":0.8}]}'

Connect in n8n

Download the inactive n8n template. Import it, configure the private Header Auth credential, inspect the sample and run it manually. A new execution creates a new billable request; there is no automatic schedule.

Use an HTTP POST to https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/agent-commerce-plan. Send JSON and these headers; store the Bearer token as a private credential.

{
  "method": "POST",
  "headers": {
    "Authorization": "Bearer YOUR_PRIVATE_API_KEY",
    "Content-Type": "application/json",
    "Idempotency-Key": "UNIQUE_PER_LOGICAL_REQUEST",
    "X-Max-Credits": "3"
  },
  "body": {
    "budget_usd": 2,
    "expected_calls": 100,
    "policy": "balanced",
    "candidates": [
      {
        "id": "alpha",
        "price_usd": 0.01,
        "success_rate": 0.99,
        "p95_latency_ms": 500,
        "trust_score": 0.9
      },
      {
        "id": "beta",
        "price_usd": 0.005,
        "success_rate": 0.95,
        "p95_latency_ms": 800,
        "trust_score": 0.8
      }
    ]
  }
}

Reuse a retry key only for the same input. Failed execution returns reserved credits. Full integration and recovery guide · Machine-readable recipe