@dexcost/sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +210 -0
  3. package/dist/adapters/_netbytes.d.ts +31 -0
  4. package/dist/adapters/_netbytes.d.ts.map +1 -0
  5. package/dist/adapters/_netbytes.js +154 -0
  6. package/dist/adapters/_netbytes.js.map +1 -0
  7. package/dist/adapters/aws-lambda.d.ts +41 -0
  8. package/dist/adapters/aws-lambda.d.ts.map +1 -0
  9. package/dist/adapters/aws-lambda.js +65 -0
  10. package/dist/adapters/aws-lambda.js.map +1 -0
  11. package/dist/adapters/browser.d.ts +52 -0
  12. package/dist/adapters/browser.d.ts.map +1 -0
  13. package/dist/adapters/browser.js +127 -0
  14. package/dist/adapters/browser.js.map +1 -0
  15. package/dist/adapters/compute-wrap.d.ts +33 -0
  16. package/dist/adapters/compute-wrap.d.ts.map +1 -0
  17. package/dist/adapters/compute-wrap.js +188 -0
  18. package/dist/adapters/compute-wrap.js.map +1 -0
  19. package/dist/adapters/data/aws_lambda_pricing.json +61 -0
  20. package/dist/adapters/gpu-wrap.d.ts +31 -0
  21. package/dist/adapters/gpu-wrap.d.ts.map +1 -0
  22. package/dist/adapters/gpu-wrap.js +147 -0
  23. package/dist/adapters/gpu-wrap.js.map +1 -0
  24. package/dist/adapters/http.d.ts +58 -0
  25. package/dist/adapters/http.d.ts.map +1 -0
  26. package/dist/adapters/http.js +769 -0
  27. package/dist/adapters/http.js.map +1 -0
  28. package/dist/adapters/index.d.ts +11 -0
  29. package/dist/adapters/index.d.ts.map +1 -0
  30. package/dist/adapters/index.js +12 -0
  31. package/dist/adapters/index.js.map +1 -0
  32. package/dist/adapters/network-accountant.d.ts +63 -0
  33. package/dist/adapters/network-accountant.d.ts.map +1 -0
  34. package/dist/adapters/network-accountant.js +153 -0
  35. package/dist/adapters/network-accountant.js.map +1 -0
  36. package/dist/cli/index.d.ts +13 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/index.js +225 -0
  39. package/dist/cli/index.js.map +1 -0
  40. package/dist/cli/scanner.d.ts +39 -0
  41. package/dist/cli/scanner.d.ts.map +1 -0
  42. package/dist/cli/scanner.js +480 -0
  43. package/dist/cli/scanner.js.map +1 -0
  44. package/dist/clients.d.ts +54 -0
  45. package/dist/clients.d.ts.map +1 -0
  46. package/dist/clients.js +240 -0
  47. package/dist/clients.js.map +1 -0
  48. package/dist/cloud-detect.d.ts +96 -0
  49. package/dist/cloud-detect.d.ts.map +1 -0
  50. package/dist/cloud-detect.js +545 -0
  51. package/dist/cloud-detect.js.map +1 -0
  52. package/dist/core/auto-task.d.ts +20 -0
  53. package/dist/core/auto-task.d.ts.map +1 -0
  54. package/dist/core/auto-task.js +34 -0
  55. package/dist/core/auto-task.js.map +1 -0
  56. package/dist/core/cgroup-reader.d.ts +45 -0
  57. package/dist/core/cgroup-reader.d.ts.map +1 -0
  58. package/dist/core/cgroup-reader.js +124 -0
  59. package/dist/core/cgroup-reader.js.map +1 -0
  60. package/dist/core/cgroup-walker.d.ts +60 -0
  61. package/dist/core/cgroup-walker.d.ts.map +1 -0
  62. package/dist/core/cgroup-walker.js +166 -0
  63. package/dist/core/cgroup-walker.js.map +1 -0
  64. package/dist/core/compute-accountant.d.ts +51 -0
  65. package/dist/core/compute-accountant.d.ts.map +1 -0
  66. package/dist/core/compute-accountant.js +179 -0
  67. package/dist/core/compute-accountant.js.map +1 -0
  68. package/dist/core/compute-runtime.d.ts +42 -0
  69. package/dist/core/compute-runtime.d.ts.map +1 -0
  70. package/dist/core/compute-runtime.js +80 -0
  71. package/dist/core/compute-runtime.js.map +1 -0
  72. package/dist/core/config.d.ts +44 -0
  73. package/dist/core/config.d.ts.map +1 -0
  74. package/dist/core/config.js +66 -0
  75. package/dist/core/config.js.map +1 -0
  76. package/dist/core/context.d.ts +76 -0
  77. package/dist/core/context.d.ts.map +1 -0
  78. package/dist/core/context.js +91 -0
  79. package/dist/core/context.js.map +1 -0
  80. package/dist/core/fargate-metadata.d.ts +27 -0
  81. package/dist/core/fargate-metadata.d.ts.map +1 -0
  82. package/dist/core/fargate-metadata.js +102 -0
  83. package/dist/core/fargate-metadata.js.map +1 -0
  84. package/dist/core/gpu-accountant.d.ts +104 -0
  85. package/dist/core/gpu-accountant.d.ts.map +1 -0
  86. package/dist/core/gpu-accountant.js +383 -0
  87. package/dist/core/gpu-accountant.js.map +1 -0
  88. package/dist/core/gpu-runtime.d.ts +58 -0
  89. package/dist/core/gpu-runtime.d.ts.map +1 -0
  90. package/dist/core/gpu-runtime.js +131 -0
  91. package/dist/core/gpu-runtime.js.map +1 -0
  92. package/dist/core/heuristics.d.ts +74 -0
  93. package/dist/core/heuristics.d.ts.map +1 -0
  94. package/dist/core/heuristics.js +182 -0
  95. package/dist/core/heuristics.js.map +1 -0
  96. package/dist/core/models.d.ts +149 -0
  97. package/dist/core/models.d.ts.map +1 -0
  98. package/dist/core/models.js +226 -0
  99. package/dist/core/models.js.map +1 -0
  100. package/dist/core/nvml-reader.d.ts +114 -0
  101. package/dist/core/nvml-reader.d.ts.map +1 -0
  102. package/dist/core/nvml-reader.js +323 -0
  103. package/dist/core/nvml-reader.js.map +1 -0
  104. package/dist/core/session.d.ts +48 -0
  105. package/dist/core/session.d.ts.map +1 -0
  106. package/dist/core/session.js +123 -0
  107. package/dist/core/session.js.map +1 -0
  108. package/dist/core/tracker.d.ts +364 -0
  109. package/dist/core/tracker.d.ts.map +1 -0
  110. package/dist/core/tracker.js +1073 -0
  111. package/dist/core/tracker.js.map +1 -0
  112. package/dist/data/compute_prices.json +180 -0
  113. package/dist/data/egress_prices.json +418 -0
  114. package/dist/data/gpu_prices.json +412 -0
  115. package/dist/data/service_prices.json +2595 -0
  116. package/dist/dev-console.d.ts +12 -0
  117. package/dist/dev-console.d.ts.map +1 -0
  118. package/dist/dev-console.js +60 -0
  119. package/dist/dev-console.js.map +1 -0
  120. package/dist/index.d.ts +52 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +61 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/instruments/anthropic.d.ts +26 -0
  125. package/dist/instruments/anthropic.d.ts.map +1 -0
  126. package/dist/instruments/anthropic.js +242 -0
  127. package/dist/instruments/anthropic.js.map +1 -0
  128. package/dist/instruments/bedrock.d.ts +29 -0
  129. package/dist/instruments/bedrock.d.ts.map +1 -0
  130. package/dist/instruments/bedrock.js +215 -0
  131. package/dist/instruments/bedrock.js.map +1 -0
  132. package/dist/instruments/cohere.d.ts +29 -0
  133. package/dist/instruments/cohere.d.ts.map +1 -0
  134. package/dist/instruments/cohere.js +237 -0
  135. package/dist/instruments/cohere.js.map +1 -0
  136. package/dist/instruments/gemini.d.ts +30 -0
  137. package/dist/instruments/gemini.d.ts.map +1 -0
  138. package/dist/instruments/gemini.js +247 -0
  139. package/dist/instruments/gemini.js.map +1 -0
  140. package/dist/instruments/index.d.ts +35 -0
  141. package/dist/instruments/index.d.ts.map +1 -0
  142. package/dist/instruments/index.js +54 -0
  143. package/dist/instruments/index.js.map +1 -0
  144. package/dist/instruments/mcp.d.ts +24 -0
  145. package/dist/instruments/mcp.d.ts.map +1 -0
  146. package/dist/instruments/mcp.js +459 -0
  147. package/dist/instruments/mcp.js.map +1 -0
  148. package/dist/instruments/openai.d.ts +26 -0
  149. package/dist/instruments/openai.d.ts.map +1 -0
  150. package/dist/instruments/openai.js +221 -0
  151. package/dist/instruments/openai.js.map +1 -0
  152. package/dist/instruments/vercel-ai.d.ts +28 -0
  153. package/dist/instruments/vercel-ai.d.ts.map +1 -0
  154. package/dist/instruments/vercel-ai.js +192 -0
  155. package/dist/instruments/vercel-ai.js.map +1 -0
  156. package/dist/integrations/langchain.d.ts +65 -0
  157. package/dist/integrations/langchain.d.ts.map +1 -0
  158. package/dist/integrations/langchain.js +165 -0
  159. package/dist/integrations/langchain.js.map +1 -0
  160. package/dist/middleware/express.d.ts +55 -0
  161. package/dist/middleware/express.d.ts.map +1 -0
  162. package/dist/middleware/express.js +101 -0
  163. package/dist/middleware/express.js.map +1 -0
  164. package/dist/middleware/index.d.ts +6 -0
  165. package/dist/middleware/index.d.ts.map +1 -0
  166. package/dist/middleware/index.js +5 -0
  167. package/dist/middleware/index.js.map +1 -0
  168. package/dist/pricing/compute-pricing.d.ts +57 -0
  169. package/dist/pricing/compute-pricing.d.ts.map +1 -0
  170. package/dist/pricing/compute-pricing.js +627 -0
  171. package/dist/pricing/compute-pricing.js.map +1 -0
  172. package/dist/pricing/cost_map.json +37665 -0
  173. package/dist/pricing/egress-pricing.d.ts +55 -0
  174. package/dist/pricing/egress-pricing.d.ts.map +1 -0
  175. package/dist/pricing/egress-pricing.js +226 -0
  176. package/dist/pricing/egress-pricing.js.map +1 -0
  177. package/dist/pricing/engine.d.ts +24 -0
  178. package/dist/pricing/engine.d.ts.map +1 -0
  179. package/dist/pricing/engine.js +148 -0
  180. package/dist/pricing/engine.js.map +1 -0
  181. package/dist/pricing/gpu-pricing.d.ts +63 -0
  182. package/dist/pricing/gpu-pricing.d.ts.map +1 -0
  183. package/dist/pricing/gpu-pricing.js +484 -0
  184. package/dist/pricing/gpu-pricing.js.map +1 -0
  185. package/dist/pricing/rates.d.ts +17 -0
  186. package/dist/pricing/rates.d.ts.map +1 -0
  187. package/dist/pricing/rates.js +102 -0
  188. package/dist/pricing/rates.js.map +1 -0
  189. package/dist/pricing/service-catalog.d.ts +87 -0
  190. package/dist/pricing/service-catalog.d.ts.map +1 -0
  191. package/dist/pricing/service-catalog.js +406 -0
  192. package/dist/pricing/service-catalog.js.map +1 -0
  193. package/dist/schema/dexcost-event.v1.json +111 -0
  194. package/dist/schema/dexcost-task.v1.json +160 -0
  195. package/dist/schema/validate.d.ts +15 -0
  196. package/dist/schema/validate.d.ts.map +1 -0
  197. package/dist/schema/validate.js +87 -0
  198. package/dist/schema/validate.js.map +1 -0
  199. package/dist/security/redaction.d.ts +55 -0
  200. package/dist/security/redaction.d.ts.map +1 -0
  201. package/dist/security/redaction.js +144 -0
  202. package/dist/security/redaction.js.map +1 -0
  203. package/dist/transport/buffer.d.ts +117 -0
  204. package/dist/transport/buffer.d.ts.map +1 -0
  205. package/dist/transport/buffer.js +759 -0
  206. package/dist/transport/buffer.js.map +1 -0
  207. package/dist/transport/pusher.d.ts +89 -0
  208. package/dist/transport/pusher.d.ts.map +1 -0
  209. package/dist/transport/pusher.js +323 -0
  210. package/dist/transport/pusher.js.map +1 -0
  211. package/package.json +93 -0
@@ -0,0 +1,418 @@
1
+ {
2
+ "_meta": {
3
+ "version": "1.0.0",
4
+ "last_updated": "2026-05-20",
5
+ "currency": "USD",
6
+ "default_rate_usd_per_gb": "0.09",
7
+ "description": "Dexcost egress catalog — per-GB internet data-transfer-out rates by cloud provider/region. Community-maintained; submit PRs to add or refresh rates. See docs/superpowers/specs/2026-05-20-network-cost-v2-design.md.",
8
+ "notes": "Rates are standard internet data-transfer-out, FIRST pricing tier only. Cloud egress is billed in descending monthly-volume tiers; the SDK has no monthly cumulative view, so it uses the first (highest) tier. Effect: customers exceeding ~10 TB/month of egress on a single cloud may see attributed cost up to ~45% above their actual invoice for their highest-volume tier; customers under the first tier (the majority) see no over-attribution. The universal default_rate_usd_per_gb is AWS us-east-1 first-tier ($0.09/GB) — the modal egress rate across hyperscalers; a deliberate conservative choice so undetected environments over-attribute slightly rather than undercount. Intra-region/internal traffic is free and never priced from this file. Pricing data was assembled in 2026-05 from each provider's public pricing pages (sources listed below) plus the AWS region inventory from pricing.us-east-1.amazonaws.com. AWS rates use the published per-region tiers; Azure rates follow the published Zone-based table (Zone 1 NA+EU = $0.087, Zone 2 APAC = $0.12, Zone 3 SA/India/Africa/ME = $0.181); GCP Premium-tier internet egress is uniform $0.12/GB at the first 1-TB tier across all source regions, with the documented $0.19/GB exception for Australia and Africa source regions. Verify against the live provider pages for production use — rates change.",
9
+ "sources": {
10
+ "aws": "https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer_within_the_same_AWS_Region",
11
+ "aws_region_inventory": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/region_index.json",
12
+ "gcp": "https://cloud.google.com/vpc/network-pricing#general",
13
+ "azure": "https://azure.microsoft.com/en-us/pricing/details/bandwidth/"
14
+ }
15
+ },
16
+ "aws": {
17
+ "_last_verified": "2026-05-20",
18
+ "default_usd_per_gb": "0.09",
19
+ "regions": {
20
+ "us-east-1": "0.09",
21
+ "us-east-2": "0.09",
22
+ "us-west-1": "0.09",
23
+ "us-west-2": "0.09",
24
+ "ca-central-1": "0.09",
25
+ "ca-west-1": "0.09",
26
+ "mx-central-1": "0.11",
27
+ "eu-west-1": "0.09",
28
+ "eu-west-2": "0.09",
29
+ "eu-west-3": "0.09",
30
+ "eu-central-1": "0.09",
31
+ "eu-central-2": "0.09",
32
+ "eu-north-1": "0.09",
33
+ "eu-south-1": "0.09",
34
+ "eu-south-2": "0.09",
35
+ "ap-south-1": "0.1093",
36
+ "ap-south-2": "0.1093",
37
+ "ap-northeast-1": "0.114",
38
+ "ap-northeast-2": "0.126",
39
+ "ap-northeast-3": "0.114",
40
+ "ap-southeast-1": "0.12",
41
+ "ap-southeast-2": "0.114",
42
+ "ap-southeast-3": "0.132",
43
+ "ap-southeast-4": "0.114",
44
+ "ap-southeast-5": "0.132",
45
+ "ap-southeast-6": "0.114",
46
+ "ap-southeast-7": "0.132",
47
+ "ap-east-1": "0.12",
48
+ "ap-east-2": "0.114",
49
+ "sa-east-1": "0.15",
50
+ "me-south-1": "0.117",
51
+ "me-central-1": "0.11",
52
+ "af-south-1": "0.154",
53
+ "il-central-1": "0.11"
54
+ }
55
+ },
56
+ "gcp": {
57
+ "_last_verified": "2026-05-20",
58
+ "default_usd_per_gb": "0.12",
59
+ "regions": {
60
+ "us-central1": "0.12",
61
+ "us-east1": "0.12",
62
+ "us-east4": "0.12",
63
+ "us-east5": "0.12",
64
+ "us-west1": "0.12",
65
+ "us-west2": "0.12",
66
+ "us-west3": "0.12",
67
+ "us-west4": "0.12",
68
+ "us-south1": "0.12",
69
+ "northamerica-northeast1": "0.12",
70
+ "northamerica-northeast2": "0.12",
71
+ "northamerica-south1": "0.12",
72
+ "southamerica-east1": "0.12",
73
+ "southamerica-west1": "0.12",
74
+ "europe-central2": "0.12",
75
+ "europe-north1": "0.12",
76
+ "europe-north2": "0.12",
77
+ "europe-southwest1": "0.12",
78
+ "europe-west1": "0.12",
79
+ "europe-west2": "0.12",
80
+ "europe-west3": "0.12",
81
+ "europe-west4": "0.12",
82
+ "europe-west6": "0.12",
83
+ "europe-west8": "0.12",
84
+ "europe-west9": "0.12",
85
+ "europe-west10": "0.12",
86
+ "europe-west12": "0.12",
87
+ "asia-east1": "0.12",
88
+ "asia-east2": "0.12",
89
+ "asia-northeast1": "0.12",
90
+ "asia-northeast2": "0.12",
91
+ "asia-northeast3": "0.12",
92
+ "asia-south1": "0.12",
93
+ "asia-south2": "0.12",
94
+ "asia-southeast1": "0.12",
95
+ "asia-southeast2": "0.12",
96
+ "australia-southeast1": "0.19",
97
+ "australia-southeast2": "0.19",
98
+ "me-central1": "0.12",
99
+ "me-central2": "0.12",
100
+ "me-west1": "0.12",
101
+ "africa-south1": "0.19"
102
+ }
103
+ },
104
+ "oci": {
105
+ "_last_verified": "2026-05-20",
106
+ "default_usd_per_gb": "0.0085",
107
+ "regions": {
108
+ "us-ashburn-1": "0.0085",
109
+ "us-phoenix-1": "0.0085",
110
+ "us-sanjose-1": "0.0085",
111
+ "us-chicago-1": "0.0085",
112
+ "ca-toronto-1": "0.0085",
113
+ "ca-montreal-1": "0.0085",
114
+ "sa-saopaulo-1": "0.0085",
115
+ "sa-santiago-1": "0.0085",
116
+ "sa-vinhedo-1": "0.0085",
117
+ "sa-bogota-1": "0.0085",
118
+ "uk-london-1": "0.0085",
119
+ "uk-cardiff-1": "0.0085",
120
+ "eu-frankfurt-1": "0.0085",
121
+ "eu-amsterdam-1": "0.0085",
122
+ "eu-zurich-1": "0.0085",
123
+ "eu-paris-1": "0.0085",
124
+ "eu-marseille-1": "0.0085",
125
+ "eu-milan-1": "0.0085",
126
+ "eu-madrid-1": "0.0085",
127
+ "eu-stockholm-1": "0.0085",
128
+ "il-jerusalem-1": "0.0085",
129
+ "me-jeddah-1": "0.0085",
130
+ "me-dubai-1": "0.0085",
131
+ "me-abudhabi-1": "0.0085",
132
+ "ap-mumbai-1": "0.0085",
133
+ "ap-hyderabad-1": "0.0085",
134
+ "ap-tokyo-1": "0.0085",
135
+ "ap-osaka-1": "0.0085",
136
+ "ap-seoul-1": "0.0085",
137
+ "ap-chuncheon-1": "0.0085",
138
+ "ap-singapore-1": "0.0085",
139
+ "ap-melbourne-1": "0.0085",
140
+ "ap-sydney-1": "0.0085",
141
+ "af-johannesburg-1": "0.0085"
142
+ }
143
+ },
144
+ "digitalocean": {
145
+ "_last_verified": "2026-05-20",
146
+ "default_usd_per_gb": "0.01",
147
+ "regions": {
148
+ "nyc1": "0.01", "nyc2": "0.01", "nyc3": "0.01",
149
+ "sfo1": "0.01", "sfo2": "0.01", "sfo3": "0.01",
150
+ "ams2": "0.01", "ams3": "0.01",
151
+ "sgp1": "0.01",
152
+ "lon1": "0.01",
153
+ "fra1": "0.01",
154
+ "tor1": "0.01",
155
+ "blr1": "0.01",
156
+ "syd1": "0.01"
157
+ }
158
+ },
159
+ "linode": {
160
+ "_last_verified": "2026-05-20",
161
+ "default_usd_per_gb": "0.005",
162
+ "regions": {
163
+ "us-east": "0.005", "us-central": "0.005", "us-west": "0.005",
164
+ "us-southeast": "0.005", "us-iad": "0.005", "us-lax": "0.005",
165
+ "us-mia": "0.005", "us-ord": "0.005", "us-sea": "0.005",
166
+ "ca-central": "0.005",
167
+ "br-gru": "0.005",
168
+ "eu-west": "0.005", "eu-central": "0.005",
169
+ "fr-par": "0.005", "nl-ams": "0.005", "es-mad": "0.005",
170
+ "it-mil": "0.005", "se-sto": "0.005", "de-fra-2": "0.005",
171
+ "gb-lon": "0.005",
172
+ "ap-northeast": "0.005", "ap-south": "0.005", "ap-southeast": "0.005",
173
+ "ap-west": "0.005", "in-bom-2": "0.005", "in-maa": "0.005",
174
+ "jp-osa": "0.005", "jp-tyo-3": "0.005", "sg-sin-2": "0.005",
175
+ "id-cgk": "0.005",
176
+ "au-mel": "0.005"
177
+ }
178
+ },
179
+ "vultr": {
180
+ "_last_verified": "2026-05-20",
181
+ "default_usd_per_gb": "0.01",
182
+ "regions": {
183
+ "ewr": "0.01", "ord": "0.01", "dfw": "0.01", "sea": "0.01",
184
+ "lax": "0.01", "atl": "0.01", "mia": "0.01", "sjc": "0.01",
185
+ "yto": "0.01",
186
+ "mex": "0.01",
187
+ "sao": "0.01", "scl": "0.01",
188
+ "ams": "0.01", "lhr": "0.01", "fra": "0.01", "cdg": "0.01",
189
+ "waw": "0.01", "sto": "0.01", "mad": "0.01",
190
+ "nrt": "0.01", "icn": "0.01", "sgp": "0.01", "syd": "0.01",
191
+ "bom": "0.01", "del": "0.01", "blr": "0.01",
192
+ "tlv": "0.01", "jnb": "0.01"
193
+ }
194
+ },
195
+ "hetzner": {
196
+ "_last_verified": "2026-05-20",
197
+ "default_usd_per_gb": "0.0013",
198
+ "regions": {
199
+ "fsn1": "0.0013",
200
+ "nbg1": "0.0013",
201
+ "hel1": "0.0013",
202
+ "ash": "0.0013",
203
+ "hil": "0.0013",
204
+ "sin": "0.0013"
205
+ }
206
+ },
207
+ "alibaba": {
208
+ "_last_verified": "2026-05-20",
209
+ "default_usd_per_gb": "0.123",
210
+ "regions": {
211
+ "cn-hangzhou": "0.123",
212
+ "cn-shanghai": "0.123",
213
+ "cn-beijing": "0.123",
214
+ "cn-zhangjiakou": "0.123",
215
+ "cn-huhehaote": "0.123",
216
+ "cn-wulanchabu": "0.123",
217
+ "cn-shenzhen": "0.123",
218
+ "cn-heyuan": "0.123",
219
+ "cn-guangzhou": "0.123",
220
+ "cn-chengdu": "0.123",
221
+ "cn-hongkong": "0.123",
222
+ "ap-northeast-1": "0.123",
223
+ "ap-northeast-2": "0.123",
224
+ "ap-southeast-1": "0.123",
225
+ "ap-southeast-2": "0.123",
226
+ "ap-southeast-3": "0.123",
227
+ "ap-southeast-5": "0.123",
228
+ "ap-southeast-6": "0.123",
229
+ "ap-southeast-7": "0.123",
230
+ "ap-south-1": "0.123",
231
+ "us-east-1": "0.123",
232
+ "us-west-1": "0.123",
233
+ "eu-west-1": "0.123",
234
+ "eu-central-1": "0.123",
235
+ "me-east-1": "0.123",
236
+ "me-central-1": "0.123"
237
+ }
238
+ },
239
+ "runpod": {
240
+ "_last_verified": "2026-05-20",
241
+ "default_usd_per_gb": "0",
242
+ "regions": {
243
+ "US-CA-2": "0", "US-DE-1": "0", "US-GA-1": "0", "US-GA-2": "0",
244
+ "US-IL-1": "0", "US-KS-2": "0", "US-NC-1": "0", "US-OR-1": "0",
245
+ "US-TX-1": "0", "US-TX-3": "0", "US-TX-4": "0",
246
+ "CA-MTL-1": "0", "CA-MTL-2": "0",
247
+ "EU-CZ-1": "0", "EU-NL-1": "0", "EU-RO-1": "0", "EU-SE-1": "0",
248
+ "EUR-IS-1": "0", "EUR-IS-2": "0", "EUR-NO-1": "0",
249
+ "AP-JP-1": "0", "OC-AU-1": "0"
250
+ }
251
+ },
252
+ "modal": {
253
+ "_last_verified": "2026-05-20",
254
+ "default_usd_per_gb": "0",
255
+ "regions": {
256
+ "us-east-1": "0", "us-east-2": "0", "us-west-2": "0",
257
+ "us-ashburn-1": "0", "us-central1": "0", "eu-west-1": "0",
258
+ "eu-central-1": "0", "ap-northeast-1": "0", "ap-southeast-1": "0"
259
+ }
260
+ },
261
+ "replicate": {
262
+ "_last_verified": "2026-05-20",
263
+ "default_usd_per_gb": "0",
264
+ "regions": {}
265
+ },
266
+ "lambda_labs": {
267
+ "_last_verified": "2026-05-20",
268
+ "default_usd_per_gb": "0",
269
+ "regions": {}
270
+ },
271
+ "vast_ai": {
272
+ "_last_verified": "2026-05-20",
273
+ "default_usd_per_gb": "0",
274
+ "regions": {}
275
+ },
276
+ "coreweave": {
277
+ "_last_verified": "2026-05-20",
278
+ "default_usd_per_gb": "0.05",
279
+ "regions": {
280
+ "us-east-04a": "0.05", "us-east-04b": "0.05",
281
+ "us-west-01a": "0.05", "us-west-02a": "0.05",
282
+ "us-central-01a": "0.05",
283
+ "eu-west-01a": "0.05"
284
+ }
285
+ },
286
+ "render": {
287
+ "_last_verified": "2026-05-20",
288
+ "default_usd_per_gb": "0.10",
289
+ "regions": {
290
+ "oregon": "0.10", "ohio": "0.10", "virginia": "0.10",
291
+ "frankfurt": "0.10", "singapore": "0.10"
292
+ }
293
+ },
294
+ "railway": {
295
+ "_last_verified": "2026-05-20",
296
+ "default_usd_per_gb": "0.05",
297
+ "regions": {
298
+ "us-west2": "0.05", "us-east4": "0.05", "europe-west4": "0.05",
299
+ "asia-southeast1": "0.05"
300
+ }
301
+ },
302
+ "heroku": {
303
+ "_last_verified": "2026-05-20",
304
+ "default_usd_per_gb": "0",
305
+ "regions": {
306
+ "us": "0", "eu": "0"
307
+ }
308
+ },
309
+ "koyeb": {
310
+ "_last_verified": "2026-05-20",
311
+ "default_usd_per_gb": "0",
312
+ "regions": {
313
+ "fra": "0", "was": "0", "sin": "0", "par": "0", "sfo": "0",
314
+ "tyo": "0"
315
+ }
316
+ },
317
+ "netlify": {
318
+ "_last_verified": "2026-05-20",
319
+ "default_usd_per_gb": "0.55",
320
+ "regions": {}
321
+ },
322
+ "cloudflare": {
323
+ "_last_verified": "2026-05-20",
324
+ "default_usd_per_gb": "0",
325
+ "regions": {}
326
+ },
327
+ "fly": {
328
+ "_last_verified": "2026-05-20",
329
+ "default_usd_per_gb": "0.02",
330
+ "regions": {
331
+ "ams": "0.02", "arn": "0.02", "atl": "0.02", "bog": "0.02",
332
+ "bom": "0.02", "bos": "0.02", "cdg": "0.02", "den": "0.02",
333
+ "dfw": "0.02", "ewr": "0.02", "eze": "0.02", "fra": "0.02",
334
+ "gdl": "0.02", "gig": "0.02", "gru": "0.02", "hkg": "0.02",
335
+ "iad": "0.02", "jnb": "0.02", "lax": "0.02", "lhr": "0.02",
336
+ "mad": "0.02", "mia": "0.02", "nrt": "0.02", "ord": "0.02",
337
+ "otp": "0.02", "phx": "0.02", "qro": "0.02", "scl": "0.02",
338
+ "sea": "0.02", "sin": "0.02", "sjc": "0.02", "syd": "0.02",
339
+ "waw": "0.02", "yul": "0.02", "yyz": "0.02"
340
+ }
341
+ },
342
+ "vercel": {
343
+ "_last_verified": "2026-05-20",
344
+ "default_usd_per_gb": "0.09",
345
+ "regions": {
346
+ "arn1": "0.09", "bom1": "0.1093", "cdg1": "0.09", "cle1": "0.09",
347
+ "cpt1": "0.154", "dub1": "0.09", "dxb1": "0.11", "fra1": "0.09",
348
+ "gru1": "0.15", "hkg1": "0.12", "hnd1": "0.114", "iad1": "0.09",
349
+ "icn1": "0.126", "kix1": "0.114", "lhr1": "0.09", "pdx1": "0.09",
350
+ "sfo1": "0.09", "sin1": "0.12", "syd1": "0.114", "yul1": "0.09"
351
+ }
352
+ },
353
+ "azure": {
354
+ "_last_verified": "2026-05-20",
355
+ "default_usd_per_gb": "0.087",
356
+ "regions": {
357
+ "eastus": "0.087",
358
+ "eastus2": "0.087",
359
+ "eastus3": "0.087",
360
+ "westus": "0.087",
361
+ "westus2": "0.087",
362
+ "westus3": "0.087",
363
+ "centralus": "0.087",
364
+ "northcentralus": "0.087",
365
+ "southcentralus": "0.087",
366
+ "westcentralus": "0.087",
367
+ "canadacentral": "0.087",
368
+ "canadaeast": "0.087",
369
+ "mexicocentral": "0.087",
370
+ "northeurope": "0.087",
371
+ "westeurope": "0.087",
372
+ "uksouth": "0.087",
373
+ "ukwest": "0.087",
374
+ "francecentral": "0.087",
375
+ "francesouth": "0.087",
376
+ "germanywestcentral": "0.087",
377
+ "germanynorth": "0.087",
378
+ "switzerlandnorth": "0.087",
379
+ "switzerlandwest": "0.087",
380
+ "norwayeast": "0.087",
381
+ "norwaywest": "0.087",
382
+ "swedencentral": "0.087",
383
+ "swedensouth": "0.087",
384
+ "polandcentral": "0.087",
385
+ "italynorth": "0.087",
386
+ "spaincentral": "0.087",
387
+ "eastasia": "0.12",
388
+ "southeastasia": "0.12",
389
+ "japaneast": "0.12",
390
+ "japanwest": "0.12",
391
+ "koreacentral": "0.12",
392
+ "koreasouth": "0.12",
393
+ "australiaeast": "0.12",
394
+ "australiasoutheast": "0.12",
395
+ "australiacentral": "0.12",
396
+ "australiacentral2": "0.12",
397
+ "centralindia": "0.12",
398
+ "southindia": "0.12",
399
+ "westindia": "0.12",
400
+ "jioindiacentral": "0.12",
401
+ "jioindiawest": "0.12",
402
+ "qatarcentral": "0.12",
403
+ "indonesiacentral": "0.12",
404
+ "malaysiawest": "0.12",
405
+ "newzealandnorth": "0.12",
406
+ "taiwannorth": "0.12",
407
+ "taiwannorthwest": "0.12",
408
+ "chilecentral": "0.181",
409
+ "brazilsouth": "0.181",
410
+ "brazilsoutheast": "0.181",
411
+ "southafricanorth": "0.181",
412
+ "southafricawest": "0.181",
413
+ "uaecentral": "0.181",
414
+ "uaenorth": "0.181",
415
+ "israelcentral": "0.181"
416
+ }
417
+ }
418
+ }