{
  "x402Version": 2,
  "id": 57008,
  "slug": "57008",
  "resource": "https://x402.presenceoperations.com/services/carry-cost",
  "description": "What it costs to hold a perpetual position: the venue's current hourly funding signed for your side, projected over your horizon in your own units, with the mark-to-oracle basis, open interest, and the assumption behind the projection stated rather than implied.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x51edd63F074EaB0b1AB94c7BCf8b1e3aD43F1D2f",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "category": "market-data",
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "hours": 8,
            "market": "BTC-PERP",
            "notional": 1000,
            "side": "LONG"
          },
          "type": "http"
        },
        "output": {
          "example": {
            "annualisedRateBasisPoints": 0,
            "assumption": "",
            "basisBasisPoints": 0,
            "detail": "",
            "direction": "",
            "fundingPerHour": "",
            "hourlyFundingRate": "",
            "hours": 0,
            "markPrice": "",
            "market": "",
            "notional": 0,
            "observedAt": "",
            "openInterest": "",
            "oraclePrice": "",
            "projectedFundingOverHorizon": "",
            "side": ""
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "queryParams": {
                "additionalProperties": false,
                "properties": {
                  "hours": {
                    "default": "8",
                    "description": "the holding horizon to project over; bounded because funding resets hourly and a projection past a month is a number with the shape of an answer and none of the content",
                    "maximum": 720,
                    "minimum": 1,
                    "type": "number"
                  },
                  "market": {
                    "description": "the perpetual market to price the carry of, upper-cased before matching, for example BTC-PERP",
                    "pattern": "^[A-Z0-9]{1,16}-PERP$",
                    "type": "string"
                  },
                  "notional": {
                    "description": "the position size to price the funding on, in quote currency",
                    "maximum": 100000000,
                    "minimum": 1,
                    "type": "number"
                  },
                  "side": {
                    "default": "LONG",
                    "description": "which side of the funding you are on; the two answers have opposite signs, so anything outside LONG or SHORT is refused rather than read as the default",
                    "enum": [
                      "LONG",
                      "SHORT"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "market",
                  "notional"
                ],
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "type": "object"
          }
        },
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "x402.presenceoperations.com",
  "lastUpdated": "2026-10-07T15:30:58.016Z",
  "quality": {
    "calls30d": 2,
    "uniquePayers30d": 2,
    "lastCalledAt": "2026-10-07T15:30:57.503Z"
  },
  "metadata": {
    "extensions": {
      "bazaar": {
        "category": "market-data",
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "hours": 8,
              "market": "BTC-PERP",
              "notional": 1000,
              "side": "LONG"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "annualisedRateBasisPoints": 0,
              "assumption": "",
              "basisBasisPoints": 0,
              "detail": "",
              "direction": "",
              "fundingPerHour": "",
              "hourlyFundingRate": "",
              "hours": 0,
              "markPrice": "",
              "market": "",
              "notional": 0,
              "observedAt": "",
              "openInterest": "",
              "oraclePrice": "",
              "projectedFundingOverHorizon": "",
              "side": ""
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "additionalProperties": false,
                  "properties": {
                    "hours": {
                      "default": "8",
                      "description": "the holding horizon to project over; bounded because funding resets hourly and a projection past a month is a number with the shape of an answer and none of the content",
                      "maximum": 720,
                      "minimum": 1,
                      "type": "number"
                    },
                    "market": {
                      "description": "the perpetual market to price the carry of, upper-cased before matching, for example BTC-PERP",
                      "pattern": "^[A-Z0-9]{1,16}-PERP$",
                      "type": "string"
                    },
                    "notional": {
                      "description": "the position size to price the funding on, in quote currency",
                      "maximum": 100000000,
                      "minimum": 1,
                      "type": "number"
                    },
                    "side": {
                      "default": "LONG",
                      "description": "which side of the funding you are on; the two answers have opposite signs, so anything outside LONG or SHORT is refused rather than read as the default",
                      "enum": [
                        "LONG",
                        "SHORT"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "market",
                    "notional"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "type": "object"
            }
          },
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "x402.presenceoperations.com",
    "manifest_name": "x402.presenceoperations.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-13T15:56:53.641Z"
  },
  "exampleResponse": {}
}