Bitpont Developers
For business ↗Request partner access →

Build / API 1.9

Bitpont API Reference | Endpoints, Parameters & Examples

Explore Bitpont API endpoints and parameter schemas. Generate JavaScript, cURL and Python requests for market reads, quotes and unsigned treasury proposals.

LOCAL REQUEST BUILDER

Make the request explicit.

Choose an operation, fill its parameters and copy a server-side example. No API key is requested and no live request is sent here.

Generated request

Typed resources

40 resources

connected-vaults.markets

GET

/api/v1/read/connected-vaults.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "euler",
        "fluid",
        "spark",
        "yearn"
      ]
    },
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "protocol",
    "network"
  ]
}

connected-vaults.market

GET

/api/v1/read/connected-vaults.market

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "euler",
        "fluid",
        "spark",
        "yearn"
      ]
    },
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "vault": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "protocol",
    "network",
    "vault"
  ]
}

connected-vaults.account

GET

/api/v1/read/connected-vaults.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "euler",
        "fluid",
        "spark",
        "yearn"
      ]
    },
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "vault": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "subaccount": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,2})$"
    }
  },
  "required": [
    "protocol",
    "network",
    "vault",
    "wallet"
  ]
}

connected.positions

GET

/api/v1/read/connected.positions

positions:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "euler",
        "fluid",
        "spark",
        "yearn",
        "sparklend",
        "fluid-credit",
        "etherfi",
        "llamalend",
        "ostium"
      ]
    },
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    },
    "subaccount": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,2})$"
    }
  },
  "required": [
    "protocol",
    "network",
    "wallet"
  ]
}

sparklend.markets

GET

/api/v1/read/sparklend.markets

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {},
  "required": []
}

sparklend.account

GET

/api/v1/read/sparklend.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "asset": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "asset",
    "wallet"
  ]
}

fluid-credit.markets

GET

/api/v1/read/fluid-credit.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": []
}

fluid-credit.account

GET

/api/v1/read/fluid-credit.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "vault": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "nftId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "vault",
    "wallet"
  ]
}

etherfi.account

GET

/api/v1/read/etherfi.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "wallet"
  ]
}

etherfi.requests

GET

/api/v1/read/etherfi.requests

positions:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "wallet"
  ]
}

etherfi.request

GET

/api/v1/read/etherfi.request

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "requestId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "wallet",
    "requestId"
  ]
}

llamalend.markets

GET

/api/v1/read/llamalend.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": []
}

llamalend.account

GET

/api/v1/read/llamalend.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "vault": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "vault",
    "wallet"
  ]
}

ostium.markets

GET

/api/v1/read/ostium.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": []
}

ostium.market

GET

/api/v1/read/ostium.market

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "pairId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "pairId"
  ]
}

ostium.account

GET

/api/v1/read/ostium.account

positions:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "pairId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "wallet",
    "pairId"
  ]
}

thorchain.progress

GET

/api/v1/read/thorchain.progress

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "sourceHash": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{64}$"
    }
  },
  "required": [
    "wallet",
    "sourceHash"
  ]
}

treasury.token

GET

/api/v1/read/treasury.token

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "chainId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "1",
        "8453",
        "42161"
      ]
    },
    "safe": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "tokenAddress": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "chainId",
    "safe",
    "tokenAddress"
  ]
}

treasury.account

GET

/api/v1/read/treasury.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "chainId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "1",
        "8453",
        "42161"
      ]
    },
    "safe": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "chainId",
    "safe"
  ]
}

treasury.lending

GET

/api/v1/read/treasury.lending

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "chainId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "1",
        "8453"
      ]
    },
    "safe": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "chainId",
    "safe"
  ]
}

transactions.status

GET

/api/v1/read/transactions.status

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "hash": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{64}$"
    }
  },
  "required": [
    "network",
    "hash"
  ]
}

hyperliquid.markets

GET

/api/v1/read/hyperliquid.markets

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "kind": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "perp",
        "spot"
      ]
    },
    "dex": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[a-zA-Z0-9_-]{0,40}$"
    }
  },
  "required": []
}

hyperliquid.book

GET

/api/v1/read/hyperliquid.book

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "kind": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "perp",
        "spot"
      ]
    },
    "dex": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[a-zA-Z0-9_-]{0,40}$"
    },
    "market": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$"
    }
  },
  "required": [
    "market"
  ]
}

hyperliquid.chart

GET

/api/v1/read/hyperliquid.chart

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "kind": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "perp",
        "spot"
      ]
    },
    "dex": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[a-zA-Z0-9_-]{0,40}$"
    },
    "market": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$"
    },
    "interval": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "5m",
        "15m",
        "1h",
        "4h",
        "1d"
      ]
    }
  },
  "required": [
    "market"
  ]
}

hyperliquid.account

GET

/api/v1/read/hyperliquid.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "user": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "dex": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[a-zA-Z0-9_-]{0,40}$"
    }
  },
  "required": [
    "wallet"
  ]
}

pendle.markets

GET

/api/v1/read/pendle.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{0,300}$"
    },
    "expired": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "0",
        "1"
      ]
    }
  },
  "required": [
    "network"
  ]
}

pendle.market

GET

/api/v1/read/pendle.market

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "market": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "network",
    "market"
  ]
}

morpho.markets

GET

/api/v1/read/morpho.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{0,300}$"
    }
  },
  "required": [
    "network"
  ]
}

morpho.market

GET

/api/v1/read/morpho.market

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "marketId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{64}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "network",
    "marketId"
  ]
}

morpho.positions

GET

/api/v1/read/morpho.positions

positions:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "skip": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "network",
    "wallet"
  ]
}

liquidity.position

GET

/api/v1/read/liquidity.position

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "uniswap-v3",
        "pancakeswap-v3",
        "aerodrome",
        "aerodrome-caps",
        "aerodrome-v3",
        "camelot",
        "quickswap"
      ]
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "tokenId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "network",
    "wallet",
    "tokenId"
  ]
}

liquidity.positions

GET

/api/v1/read/liquidity.positions

positions:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "network": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bnb",
        "avalanche"
      ]
    },
    "protocol": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "uniswap-v3",
        "pancakeswap-v3",
        "aerodrome",
        "aerodrome-caps",
        "aerodrome-v3",
        "camelot",
        "quickswap"
      ]
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "network",
    "wallet"
  ]
}

solana-liquidity.pool

GET

/api/v1/read/solana-liquidity.pool

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "provider": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "orca",
        "meteora",
        "raydium"
      ]
    },
    "address": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    }
  },
  "required": [
    "provider",
    "address"
  ]
}

solana-liquidity.position

GET

/api/v1/read/solana-liquidity.position

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "provider": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "orca",
        "meteora",
        "raydium"
      ]
    },
    "pool": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    },
    "position": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    }
  },
  "required": [
    "provider",
    "pool",
    "position",
    "wallet"
  ]
}

solana-liquidity.positions

GET

/api/v1/read/solana-liquidity.positions

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "provider": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "orca",
        "meteora",
        "raydium"
      ]
    },
    "pool": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    },
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
    },
    "fresh": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "0",
        "1"
      ]
    }
  },
  "required": [
    "provider",
    "pool",
    "wallet"
  ]
}

boros.markets

GET

/api/v1/read/boros.markets

discovery:read · Paginated

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{0,300}$"
    },
    "matured": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^[^\\u0000-\\u001f]{1,300}$",
      "enum": [
        "0",
        "1"
      ]
    }
  },
  "required": []
}

boros.market

GET

/api/v1/read/boros.market

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "marketId": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^(0|[1-9][0-9]{0,77})$"
    }
  },
  "required": [
    "marketId"
  ]
}

boros.portfolio

GET

/api/v1/read/boros.portfolio

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "wallet"
  ]
}

gmx.markets

GET

/api/v1/read/gmx.markets

discovery:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {},
  "required": []
}

gmx.account

GET

/api/v1/read/gmx.account

positions:read · Bounded response

Parameters & schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "wallet": {
      "type": "string",
      "maxLength": 300,
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  },
  "required": [
    "wallet"
  ]
}

Planning, preparation & contracts

Public discovery and supported unsigned workflow drafts have bounded free access. Account reads, swap quotes and treasury preparation require a scoped bearer key. API operations do not sign or submit transactions.

GET/api/v1/capabilities

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/resources

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/workflows

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/compositions

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/openapi.json

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/usage

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "responses": {
    "200": {
      "description": "Capability or integration contract"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/integrations/manifest

Any authenticated API key. Reports configured adapters and the current key’s authorization. Does not probe provider health or financial eligibility. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "operationId": "integrationManifest",
  "description": "Any authenticated API key. Reports configured adapters and the current key’s authorization. Does not probe provider health or financial eligibility. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.",
  "responses": {
    "200": {
      "description": "Resource and operation readiness, explicit limits, documentation links; signs:false and submits:false."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true
}
GET/api/v1/workflows/starters

Requires discovery:read. Supported route shortcuts without a wallet, amount or signing authority. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "operationId": "workflowStarters",
  "description": "Requires discovery:read. Supported route shortcuts without a wallet, amount or signing authority. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.",
  "responses": {
    "200": {
      "description": "Route catalogue with network-specific Bitpont review links."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true
}
POST/api/v1/portfolio/plan

Requires positions:read. Constructs bounded read requests for selected EVM wallets and networks. Does not execute reads or compute total net worth. Inspect excluded coverage, follow all cursors and retain item-level errors.

{
  "operationId": "planPortfolio",
  "description": "Requires positions:read. Constructs bounded read requests for selected EVM wallets and networks. Does not execute reads or compute total net worth. Inspect excluded coverage, follow all cursors and retain item-level errors.",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "wallets",
            "networks"
          ],
          "properties": {
            "wallets": {
              "type": "array",
              "minItems": 1,
              "maxItems": 2,
              "items": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^0x[0-9a-fA-F]{40}$"
              }
            },
            "networks": {
              "type": "array",
              "minItems": 1,
              "maxItems": 7,
              "items": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^[^\\u0000-\\u001f]{1,300}$",
                "enum": [
                  "ethereum",
                  "base",
                  "arbitrum",
                  "optimism",
                  "polygon",
                  "bnb",
                  "avalanche"
                ]
              }
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Read plan with requests, configured coverage, explicit exclusions, completePortfolio:false and submitted:false."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}
POST/api/v1/read/batch

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "operationId": "readBatch",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "requests"
          ],
          "properties": {
            "requests": {
              "type": "array",
              "minItems": 1,
              "maxItems": 6,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "resource",
                  "params"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9_-]{1,64}$"
                  },
                  "resource": {
                    "enum": [
                      "connected-vaults.markets",
                      "connected-vaults.market",
                      "connected-vaults.account",
                      "connected.positions",
                      "sparklend.markets",
                      "sparklend.account",
                      "fluid-credit.markets",
                      "fluid-credit.account",
                      "etherfi.account",
                      "etherfi.requests",
                      "etherfi.request",
                      "llamalend.markets",
                      "llamalend.account",
                      "ostium.markets",
                      "ostium.market",
                      "ostium.account",
                      "thorchain.progress",
                      "treasury.token",
                      "treasury.account",
                      "treasury.lending",
                      "transactions.status",
                      "hyperliquid.markets",
                      "hyperliquid.book",
                      "hyperliquid.chart",
                      "hyperliquid.account",
                      "pendle.markets",
                      "pendle.market",
                      "morpho.markets",
                      "morpho.market",
                      "morpho.positions",
                      "liquidity.position",
                      "liquidity.positions",
                      "solana-liquidity.pool",
                      "solana-liquidity.position",
                      "solana-liquidity.positions",
                      "boros.markets",
                      "boros.market",
                      "boros.portfolio",
                      "gmx.markets",
                      "gmx.account"
                    ]
                  },
                  "params": {
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Ordered independent results. A successful HTTP response can contain failed or partial items."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
POST/api/v1/transactions/treasury/prepare

Requires transactions:prepare. Prepares a bounded unsigned Aave USDC Safe proposal; does not approve, sign or submit. Amount is human-readable USDC, not base units.

{
  "operationId": "prepareTreasury",
  "description": "Requires transactions:prepare. Prepares a bounded unsigned Aave USDC Safe proposal; does not approve, sign or submit. Amount is human-readable USDC, not base units.",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "chainId",
            "safe",
            "owner",
            "action",
            "amount"
          ],
          "properties": {
            "chainId": {
              "type": "integer",
              "minimum": 1,
              "maximum": 8453,
              "enum": [
                1,
                8453
              ]
            },
            "safe": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "owner": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "action": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "lending-supply",
                "lending-withdraw",
                "lending-repay",
                "lending-repay-supply"
              ]
            },
            "amount": {
              "type": "string",
              "maxLength": 70,
              "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$"
            },
            "repayAll": {
              "type": "boolean"
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "ReadResult containing the exact Safe proposal, calls, fresh state, explicit simulation coverage, costs not quoted and an opt-in Bitpont review link."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}
POST/api/v1/transactions/treasury/payments/plan

Requires transactions:prepare. Validate up to 500 recipients and return bounded batch inputs. No nonce, approvals or execution are prepared by this planning endpoint. Prepare each batch separately with fresh state.

{
  "operationId": "planTreasuryPayments",
  "description": "Requires transactions:prepare. Validate up to 500 recipients and return bounded batch inputs. No nonce, approvals or execution are prepared by this planning endpoint. Prepare each batch separately with fresh state.",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "chainId",
            "safe",
            "owner",
            "asset",
            "payments"
          ],
          "properties": {
            "chainId": {
              "type": "integer",
              "minimum": 1,
              "maximum": 42161,
              "enum": [
                1,
                8453,
                42161
              ]
            },
            "safe": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "owner": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "asset": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "USDC",
                "ETH",
                "USDCx",
                "ERC20"
              ]
            },
            "tokenAddress": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "payments": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100000,
              "description": "One address,amount per line. 1 to 500 unique recipients, split into batches of at most 50."
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "asset": {
                    "const": "ERC20"
                  }
                }
              },
              "then": {
                "required": [
                  "tokenAddress"
                ]
              },
              "else": {
                "not": {
                  "required": [
                    "tokenAddress"
                  ]
                }
              }
            }
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "ReadResult with an unsigned payment plan, exact per-batch totals and preparation requests."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}
POST/api/v1/transactions/treasury/payments/prepare

Requires transactions:prepare. Constructs an unsigned Safe payment batch, verifies recipients, owners and balances. No transaction is submitted.

{
  "operationId": "prepareTreasuryPayments",
  "description": "Requires transactions:prepare. Constructs an unsigned Safe payment batch, verifies recipients, owners and balances. No transaction is submitted.",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "chainId",
            "safe",
            "owner",
            "asset",
            "payments"
          ],
          "properties": {
            "chainId": {
              "type": "integer",
              "minimum": 1,
              "maximum": 42161,
              "enum": [
                1,
                8453,
                42161
              ]
            },
            "safe": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "owner": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "asset": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "USDC",
                "ETH",
                "USDCx",
                "ERC20"
              ]
            },
            "tokenAddress": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "payments": {
              "type": "string",
              "minLength": 1,
              "maxLength": 14000,
              "description": "One address,amount per line; 1 to 50 distinct recipients. Human-readable positive decimals. No header, self-recipient, ENS or arbitrary calldata."
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "asset": {
                    "const": "ERC20"
                  }
                }
              },
              "then": {
                "required": [
                  "tokenAddress"
                ]
              },
              "else": {
                "not": {
                  "required": [
                    "tokenAddress"
                  ]
                }
              }
            }
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "ReadResult containing exact calls, Safe hash, unsigned owner approval and opt-in reviewUrl. Full execution simulation is required after owner approvals."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}
POST/api/v1/quotes/evm-swap

Inspect the OpenAPI contract for the accepted request and response.

{
  "operationId": "quoteEvmSwap",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "network",
            "from",
            "to",
            "amount",
            "wallet",
            "slippageBps"
          ],
          "properties": {
            "network": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            },
            "from": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "to": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "amount": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9][0-9]{0,77}$"
            },
            "wallet": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            },
            "slippageBps": {
              "type": "integer",
              "minimum": 1,
              "maximum": 300
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ReadResult"
          }
        }
      }
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}
POST/api/v1/workflows/prepare

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "operationId": "prepareWorkflow",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "network",
            "source",
            "destination",
            "amount"
          ],
          "properties": {
            "network": {
              "enum": [
                "solana",
                "ethereum",
                "base"
              ]
            },
            "source": {
              "enum": [
                "wallet",
                "jupiter",
                "aave",
                "morpho"
              ]
            },
            "destination": {
              "enum": [
                "wallet",
                "jupiter",
                "aave",
                "morpho",
                "perps"
              ]
            },
            "amount": {
              "type": "string",
              "description": "Positive human-readable USDC amount, at most six fractional digits. Zero and unsupported source/destination combinations are rejected.",
              "pattern": "^[0-9]+(\\.[0-9]{1,6})?$"
            },
            "subAccountId": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Unsigned draft only. No execution, quote or guaranteed cost."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
GET/api/v1/workflows/prepare

Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "parameters": [
    {
      "name": "network",
      "in": "query",
      "schema": {
        "enum": [
          "solana",
          "ethereum",
          "base"
        ]
      },
      "required": true
    },
    {
      "name": "source",
      "in": "query",
      "schema": {
        "enum": [
          "wallet",
          "jupiter",
          "aave",
          "morpho"
        ]
      },
      "required": true
    },
    {
      "name": "destination",
      "in": "query",
      "schema": {
        "enum": [
          "wallet",
          "jupiter",
          "aave",
          "morpho",
          "perps"
        ]
      },
      "required": true
    },
    {
      "name": "amount",
      "in": "query",
      "schema": {
        "type": "string",
        "description": "Positive human-readable USDC amount, at most six fractional digits. Zero and unsupported source/destination combinations are rejected.",
        "pattern": "^[0-9]+(\\.[0-9]{1,6})?$"
      },
      "required": true
    },
    {
      "name": "subAccountId",
      "in": "query",
      "schema": {
        "type": "integer",
        "minimum": 0,
        "maximum": 65535
      },
      "required": false
    }
  ],
  "responses": {
    "200": {
      "description": "Unsigned draft"
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true,
  "description": " Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key."
}
POST/api/v1/compositions/prepare

Requires workflows:prepare. Validates one to twelve compatible actions and returns an unsigned draft and Bitpont review link. No quote, execution or signing authority. Protocol availability is checked again at execution. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.

{
  "operationId": "prepareComposition",
  "description": "Requires workflows:prepare. Validates one to twelve compatible actions and returns an unsigned draft and Bitpont review link. No quote, execution or signing authority. Protocol availability is checked again at execution. Free without a key for public resources only, subject to shared usage limits. Batch reads cannot include account resources without a scoped key.",
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "steps"
          ],
          "properties": {
            "title": {
              "type": "string",
              "maxLength": 160
            },
            "steps": {
              "type": "array",
              "minItems": 1,
              "maxItems": 12,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "domain",
                  "product",
                  "action",
                  "asset",
                  "symbol",
                  "decimals",
                  "amount"
                ],
                "properties": {
                  "domain": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "family",
                      "network",
                      "chainId",
                      "wallet"
                    ],
                    "properties": {
                      "family": {
                        "enum": [
                          "evm",
                          "solana"
                        ]
                      },
                      "network": {
                        "enum": [
                          "solana",
                          "ethereum",
                          "base",
                          "arbitrum",
                          "optimism",
                          "polygon",
                          "bnb",
                          "avalanche"
                        ]
                      },
                      "chainId": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "wallet": {
                        "type": "string"
                      }
                    }
                  },
                  "product": {
                    "enum": [
                      "swap",
                      "bridge",
                      "aave",
                      "morpho",
                      "morpho-blue",
                      "pendle",
                      "jupiter",
                      "perps",
                      "boros",
                      "marinade",
                      "liquidity"
                    ]
                  },
                  "action": {
                    "type": "string"
                  },
                  "asset": {
                    "type": "string"
                  },
                  "symbol": {
                    "type": "string",
                    "maxLength": 32
                  },
                  "decimals": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 18
                  },
                  "amount": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Exact positive base units for the first step. Null for subsequent steps."
                  },
                  "destination": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "family",
                      "network",
                      "chainId",
                      "wallet"
                    ],
                    "properties": {
                      "family": {
                        "enum": [
                          "evm",
                          "solana"
                        ]
                      },
                      "network": {
                        "enum": [
                          "solana",
                          "ethereum",
                          "base",
                          "arbitrum",
                          "optimism",
                          "polygon",
                          "bnb",
                          "avalanche"
                        ]
                      },
                      "chainId": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "wallet": {
                        "type": "string"
                      }
                    }
                  },
                  "output": {
                    "type": "string"
                  },
                  "outputSymbol": {
                    "type": "string"
                  },
                  "market": {
                    "type": "string"
                  },
                  "token": {
                    "type": "string"
                  },
                  "maxAmount": {
                    "type": "string"
                  },
                  "minimumOutput": {
                    "type": "string"
                  },
                  "borrowAmount": {
                    "type": "string"
                  },
                  "collateralAmount": {
                    "type": "string"
                  },
                  "outputDecimals": {
                    "type": "integer"
                  },
                  "slippageBps": {
                    "type": "integer"
                  },
                  "maxLtvBps": {
                    "type": "integer"
                  },
                  "spotMarketIndex": {
                    "type": "integer"
                  },
                  "subAccountId": {
                    "type": "integer"
                  },
                  "tickLower": {
                    "type": "integer"
                  },
                  "tickUpper": {
                    "type": "integer"
                  },
                  "tokenId": {
                    "type": [
                      "string",
                      "integer"
                    ]
                  },
                  "liquidity": {
                    "type": "string"
                  },
                  "inputs": {
                    "type": "array",
                    "maxItems": 2,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "step",
                        "output"
                      ],
                      "properties": {
                        "step": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 11
                        },
                        "output": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "maxAmount": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "tokens": {
                    "type": "array",
                    "minItems": 2,
                    "maxItems": 2,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "address",
                        "symbol",
                        "decimals"
                      ],
                      "properties": {
                        "address": {
                          "type": "string"
                        },
                        "symbol": {
                          "type": "string"
                        },
                        "decimals": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 18
                        }
                      }
                    }
                  },
                  "pool": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "protocol",
                      "fee",
                      "spacing",
                      "hooks"
                    ],
                    "properties": {
                      "protocol": {
                        "type": "string"
                      },
                      "fee": {
                        "type": "integer"
                      },
                      "spacing": {
                        "type": "integer"
                      },
                      "hooks": {
                        "type": "string"
                      }
                    }
                  },
                  "full": {
                    "type": "boolean"
                  },
                  "native": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Version 3 single-output or version 4 multi-asset draft with exact input/output domains, per-step unquoted costs, executionModel and reviewUrl. executionModel describes minimum transaction prompts, participating accounts and networks, and separately reviewed execution. It does not grant signing authority or attest private submission."
    },
    "400": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "401": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "403": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "404": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "405": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "413": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "429": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "502": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "503": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    },
    "504": {
      "description": "Structured error, with requestId and retryable.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        },
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  },
  "security": [
    {},
    {
      "bearerAuth": []
    }
  ],
  "x-bitpont-free-access": true
}