{
  "tool": {
    "slug": "retry-backoff",
    "title": "Retry Backoff",
    "category": "Network Stability",
    "description": "Calculate exponential retry delays with optional jitter for 429 and transient API failures.",
    "buyerIntent": "Use when an agent is orchestrating repeated API calls and needs a deterministic delay plan.",
    "tokenValue": "Avoids asking a model to invent retry timing and reduces accidental request bursts.",
    "method": "POST",
    "rawBlueprintSlug": "agent-rate-limit-backoff",
    "priceUSDC": 0.002,
    "latencyTargetMs": 120,
    "status": "live-preview",
    "tags": [
      "retry",
      "backoff",
      "429",
      "jitter"
    ],
    "requestSchema": {
      "type": "object",
      "required": [
        "attempt"
      ],
      "properties": {
        "attempt": {
          "type": "integer"
        },
        "baseDelayMs": {
          "type": "integer",
          "default": 1000
        },
        "maxDelayMs": {
          "type": "integer",
          "default": 16000
        },
        "enableJitter": {
          "type": "boolean",
          "default": true
        },
        "mockRandom": {
          "type": "number"
        }
      }
    },
    "responseSchema": {
      "type": "object",
      "properties": {
        "attempt": {
          "type": "integer"
        },
        "retryDelayMs": {
          "type": "integer"
        },
        "maxRangeMs": {
          "type": "integer"
        }
      }
    },
    "sampleRequest": {
      "attempt": 3,
      "baseDelayMs": 1000,
      "maxDelayMs": 16000,
      "mockRandom": 0.5
    },
    "sampleResponse": {
      "attempt": 3,
      "retryDelayMs": 4000,
      "maxRangeMs": 8000
    },
    "endpoint": "/api/v1/agent-tools/retry-backoff/",
    "absoluteEndpoint": "https://elpa.space/api/v1/agent-tools/retry-backoff/",
    "pageUrl": "https://elpa.space/agent-tools/#retry-backoff",
    "rawBlueprintUrl": "https://elpa.space/raw/agent-rate-limit-backoff",
    "priceLabel": "0.002 USDC"
  },
  "payment": {
    "protocol": "x402",
    "implementation": "x402 v2 exact EVM facilitator with legacy Base USDC transaction-hash fallback",
    "network": "Base",
    "networkCaip2": "eip155:8453",
    "currency": "USDC",
    "tokenContract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "recipientAddress": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
    "paymentHeaders": [
      "PAYMENT-SIGNATURE",
      "X-PAYMENT",
      "x402-tx-hash (legacy)"
    ],
    "challengeHeader": "PAYMENT-REQUIRED",
    "responseHeader": "PAYMENT-RESPONSE",
    "facilitatorEnv": [
      "X402_FACILITATOR_URL",
      "X402_FACILITATOR_AUTHORIZATION"
    ],
    "maxTimeoutSeconds": 120,
    "priceUSDC": 0.002,
    "x402": {
      "x402Version": 2,
      "resource": {
        "url": "https://elpa.space/api/v1/agent-tools/retry-backoff/",
        "description": "Calculate exponential retry delays with optional jitter for 429 and transient API failures.",
        "mimeType": "application/json",
        "serviceName": "ELPA Agent Tools",
        "tags": [
          "retry",
          "backoff",
          "429",
          "jitter"
        ],
        "iconUrl": "https://elpa.space/logo.svg"
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "2000",
          "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
          "maxTimeoutSeconds": 120,
          "extra": {
            "name": "USDC",
            "version": "2",
            "decimals": 6
          }
        }
      ],
      "paymentRequired": {
        "x402Version": 2,
        "error": "PAYMENT-SIGNATURE header is required",
        "resource": {
          "url": "https://elpa.space/api/v1/agent-tools/retry-backoff/",
          "description": "Calculate exponential retry delays with optional jitter for 429 and transient API failures.",
          "mimeType": "application/json",
          "serviceName": "ELPA Agent Tools",
          "tags": [
            "retry",
            "backoff",
            "429",
            "jitter"
          ],
          "iconUrl": "https://elpa.space/logo.svg"
        },
        "accepts": [
          {
            "scheme": "exact",
            "network": "eip155:8453",
            "amount": "2000",
            "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "payTo": "0xd9d6ae1d5a2128fea511460fac8e4dea58baf153",
            "maxTimeoutSeconds": 120,
            "extra": {
              "name": "USDC",
              "version": "2",
              "decimals": 6
            }
          }
        ],
        "extensions": {
          "bazaar": {
            "info": {
              "discoverable": true,
              "category": "Network Stability",
              "tags": [
                "retry",
                "backoff",
                "429",
                "jitter"
              ],
              "input": {
                "attempt": 3,
                "baseDelayMs": 1000,
                "maxDelayMs": 16000,
                "mockRandom": 0.5
              },
              "output": {
                "attempt": 3,
                "retryDelayMs": 4000,
                "maxRangeMs": 8000
              }
            },
            "schema": {
              "type": "object",
              "properties": {
                "discoverable": {
                  "type": "boolean"
                },
                "category": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "input": {
                  "type": "object",
                  "required": [
                    "attempt"
                  ],
                  "properties": {
                    "attempt": {
                      "type": "integer"
                    },
                    "baseDelayMs": {
                      "type": "integer",
                      "default": 1000
                    },
                    "maxDelayMs": {
                      "type": "integer",
                      "default": 16000
                    },
                    "enableJitter": {
                      "type": "boolean",
                      "default": true
                    },
                    "mockRandom": {
                      "type": "number"
                    }
                  }
                },
                "output": {
                  "type": "object",
                  "properties": {
                    "attempt": {
                      "type": "integer"
                    },
                    "retryDelayMs": {
                      "type": "integer"
                    },
                    "maxRangeMs": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "paymentRequiredBase64": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5ULVNJR05BVFVSRSBoZWFkZXIgaXMgcmVxdWlyZWQiLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovL2VscGEuc3BhY2UvYXBpL3YxL2FnZW50LXRvb2xzL3JldHJ5LWJhY2tvZmYvIiwiZGVzY3JpcHRpb24iOiJDYWxjdWxhdGUgZXhwb25lbnRpYWwgcmV0cnkgZGVsYXlzIHdpdGggb3B0aW9uYWwgaml0dGVyIGZvciA0MjkgYW5kIHRyYW5zaWVudCBBUEkgZmFpbHVyZXMuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJFTFBBIEFnZW50IFRvb2xzIiwidGFncyI6WyJyZXRyeSIsImJhY2tvZmYiLCI0MjkiLCJqaXR0ZXIiXSwiaWNvblVybCI6Imh0dHBzOi8vZWxwYS5zcGFjZS9sb2dvLnN2ZyJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjIwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZmNkNmVkYjZlMDhmNGM3YzMyZDRmNzFiNTRiZGEwMjkxMyIsInBheVRvIjoiMHhkOWQ2YWUxZDVhMjEyOGZlYTUxMTQ2MGZhYzhlNGRlYTU4YmFmMTUzIiwibWF4VGltZW91dFNlY29uZHMiOjEyMCwiZXh0cmEiOnsibmFtZSI6IlVTREMiLCJ2ZXJzaW9uIjoiMiIsImRlY2ltYWxzIjo2fX1dLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJpbmZvIjp7ImRpc2NvdmVyYWJsZSI6dHJ1ZSwiY2F0ZWdvcnkiOiJOZXR3b3JrIFN0YWJpbGl0eSIsInRhZ3MiOlsicmV0cnkiLCJiYWNrb2ZmIiwiNDI5Iiwiaml0dGVyIl0sImlucHV0Ijp7ImF0dGVtcHQiOjMsImJhc2VEZWxheU1zIjoxMDAwLCJtYXhEZWxheU1zIjoxNjAwMCwibW9ja1JhbmRvbSI6MC41fSwib3V0cHV0Ijp7ImF0dGVtcHQiOjMsInJldHJ5RGVsYXlNcyI6NDAwMCwibWF4UmFuZ2VNcyI6ODAwMH19LCJzY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiZGlzY292ZXJhYmxlIjp7InR5cGUiOiJib29sZWFuIn0sImNhdGVnb3J5Ijp7InR5cGUiOiJzdHJpbmcifSwidGFncyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJpbnB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicmVxdWlyZWQiOlsiYXR0ZW1wdCJdLCJwcm9wZXJ0aWVzIjp7ImF0dGVtcHQiOnsidHlwZSI6ImludGVnZXIifSwiYmFzZURlbGF5TXMiOnsidHlwZSI6ImludGVnZXIiLCJkZWZhdWx0IjoxMDAwfSwibWF4RGVsYXlNcyI6eyJ0eXBlIjoiaW50ZWdlciIsImRlZmF1bHQiOjE2MDAwfSwiZW5hYmxlSml0dGVyIjp7InR5cGUiOiJib29sZWFuIiwiZGVmYXVsdCI6dHJ1ZX0sIm1vY2tSYW5kb20iOnsidHlwZSI6Im51bWJlciJ9fX0sIm91dHB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJhdHRlbXB0Ijp7InR5cGUiOiJpbnRlZ2VyIn0sInJldHJ5RGVsYXlNcyI6eyJ0eXBlIjoiaW50ZWdlciJ9LCJtYXhSYW5nZU1zIjp7InR5cGUiOiJpbnRlZ2VyIn19fX19fX19",
      "facilitator": {
        "url": "https://api.cdp.coinbase.com/platform/v2/x402",
        "verify": "/verify",
        "settle": "/settle"
      },
      "legacy": {
        "enabled": true,
        "header": "x402-tx-hash",
        "note": "Legacy Base USDC transaction-hash receipts remain accepted for manual testing, but PAYMENT-SIGNATURE is the primary x402 path."
      }
    }
  }
}