@oobe-protocol-labs/sap-mcp-server 0.9.37 → 0.9.50

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 (191) hide show
  1. package/.env.example +14 -0
  2. package/CHANGELOG.md +85 -0
  3. package/README.md +3 -3
  4. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  5. package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
  6. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
  7. package/dist/config/env.d.ts +51 -0
  8. package/dist/config/env.d.ts.map +1 -1
  9. package/dist/config/env.js +32 -2
  10. package/dist/config/env.js.map +1 -1
  11. package/dist/core/constants.d.ts +1 -1
  12. package/dist/core/constants.js +1 -1
  13. package/dist/core/logger.js +1 -1
  14. package/dist/payments/monetization-gate.d.ts +5 -0
  15. package/dist/payments/monetization-gate.d.ts.map +1 -1
  16. package/dist/payments/monetization-gate.js +39 -2
  17. package/dist/payments/monetization-gate.js.map +1 -1
  18. package/dist/payments/prepaid-credit-store.d.ts +111 -0
  19. package/dist/payments/prepaid-credit-store.d.ts.map +1 -0
  20. package/dist/payments/prepaid-credit-store.js +230 -0
  21. package/dist/payments/prepaid-credit-store.js.map +1 -0
  22. package/dist/payments/pricing.d.ts.map +1 -1
  23. package/dist/payments/pricing.js +40 -1
  24. package/dist/payments/pricing.js.map +1 -1
  25. package/dist/payments/schema-validation.d.ts +52 -0
  26. package/dist/payments/schema-validation.d.ts.map +1 -0
  27. package/dist/payments/schema-validation.js +112 -0
  28. package/dist/payments/schema-validation.js.map +1 -0
  29. package/dist/payments/x402-paid-call.d.ts +21 -0
  30. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  31. package/dist/payments/x402-paid-call.js +108 -3
  32. package/dist/payments/x402-paid-call.js.map +1 -1
  33. package/dist/perps/adrena/adrena-builder-commodity.d.ts +63 -0
  34. package/dist/perps/adrena/adrena-builder-commodity.d.ts.map +1 -0
  35. package/dist/perps/adrena/adrena-builder-commodity.js +200 -0
  36. package/dist/perps/adrena/adrena-builder-commodity.js.map +1 -0
  37. package/dist/perps/adrena/adrena-builder-core.d.ts +319 -0
  38. package/dist/perps/adrena/adrena-builder-core.d.ts.map +1 -0
  39. package/dist/perps/adrena/adrena-builder-core.js +517 -0
  40. package/dist/perps/adrena/adrena-builder-core.js.map +1 -0
  41. package/dist/perps/adrena/adrena-builder-liquidity.d.ts +50 -0
  42. package/dist/perps/adrena/adrena-builder-liquidity.d.ts.map +1 -0
  43. package/dist/perps/adrena/adrena-builder-liquidity.js +196 -0
  44. package/dist/perps/adrena/adrena-builder-liquidity.js.map +1 -0
  45. package/dist/perps/adrena/adrena-builder-staking.d.ts +57 -0
  46. package/dist/perps/adrena/adrena-builder-staking.d.ts.map +1 -0
  47. package/dist/perps/adrena/adrena-builder-staking.js +368 -0
  48. package/dist/perps/adrena/adrena-builder-staking.js.map +1 -0
  49. package/dist/perps/adrena/adrena-builder-trading.d.ts +160 -0
  50. package/dist/perps/adrena/adrena-builder-trading.d.ts.map +1 -0
  51. package/dist/perps/adrena/adrena-builder-trading.js +835 -0
  52. package/dist/perps/adrena/adrena-builder-trading.js.map +1 -0
  53. package/dist/perps/adrena/adrena-builder.d.ts +22 -0
  54. package/dist/perps/adrena/adrena-builder.d.ts.map +1 -0
  55. package/dist/perps/adrena/adrena-builder.js +22 -0
  56. package/dist/perps/adrena/adrena-builder.js.map +1 -0
  57. package/dist/perps/adrena/adrena-constants.d.ts +163 -0
  58. package/dist/perps/adrena/adrena-constants.d.ts.map +1 -0
  59. package/dist/perps/adrena/adrena-constants.js +122 -0
  60. package/dist/perps/adrena/adrena-constants.js.map +1 -0
  61. package/dist/perps/adrena/adrena-data-api.d.ts +180 -0
  62. package/dist/perps/adrena/adrena-data-api.d.ts.map +1 -0
  63. package/dist/perps/adrena/adrena-data-api.js +169 -0
  64. package/dist/perps/adrena/adrena-data-api.js.map +1 -0
  65. package/dist/perps/adrena/adrena-idl.d.ts +15084 -0
  66. package/dist/perps/adrena/adrena-idl.d.ts.map +1 -0
  67. package/dist/perps/adrena/adrena-idl.js +29903 -0
  68. package/dist/perps/adrena/adrena-idl.js.map +1 -0
  69. package/dist/perps/adrena/adrena-pda.d.ts +147 -0
  70. package/dist/perps/adrena/adrena-pda.d.ts.map +1 -0
  71. package/dist/perps/adrena/adrena-pda.js +211 -0
  72. package/dist/perps/adrena/adrena-pda.js.map +1 -0
  73. package/dist/perps/adrena/index.d.ts +12 -0
  74. package/dist/perps/adrena/index.d.ts.map +1 -0
  75. package/dist/perps/adrena/index.js +12 -0
  76. package/dist/perps/adrena/index.js.map +1 -0
  77. package/dist/perps/chart-indicators.d.ts +27 -0
  78. package/dist/perps/chart-indicators.d.ts.map +1 -0
  79. package/dist/perps/chart-indicators.js +345 -0
  80. package/dist/perps/chart-indicators.js.map +1 -0
  81. package/dist/perps/chart-tools.d.ts +45 -0
  82. package/dist/perps/chart-tools.d.ts.map +1 -0
  83. package/dist/perps/chart-tools.js +341 -0
  84. package/dist/perps/chart-tools.js.map +1 -0
  85. package/dist/perps/perp-analytics-tools.d.ts +20 -0
  86. package/dist/perps/perp-analytics-tools.d.ts.map +1 -0
  87. package/dist/perps/perp-analytics-tools.js +868 -0
  88. package/dist/perps/perp-analytics-tools.js.map +1 -0
  89. package/dist/perps/perp-constants.d.ts +362 -0
  90. package/dist/perps/perp-constants.d.ts.map +1 -0
  91. package/dist/perps/perp-constants.js +210 -0
  92. package/dist/perps/perp-constants.js.map +1 -0
  93. package/dist/perps/perp-decoders.d.ts +47 -0
  94. package/dist/perps/perp-decoders.d.ts.map +1 -0
  95. package/dist/perps/perp-decoders.js +332 -0
  96. package/dist/perps/perp-decoders.js.map +1 -0
  97. package/dist/policy/policy-engine.d.ts +42 -0
  98. package/dist/policy/policy-engine.d.ts.map +1 -1
  99. package/dist/policy/policy-engine.js +43 -0
  100. package/dist/policy/policy-engine.js.map +1 -1
  101. package/dist/premium/activation-manager.d.ts.map +1 -1
  102. package/dist/premium/activation-manager.js +20 -2
  103. package/dist/premium/activation-manager.js.map +1 -1
  104. package/dist/prompts/context/sap-agent-context.prompt.js +15 -1
  105. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  106. package/dist/server/server-metadata.d.ts +15 -0
  107. package/dist/server/server-metadata.d.ts.map +1 -1
  108. package/dist/server/server-metadata.js +16 -1
  109. package/dist/server/server-metadata.js.map +1 -1
  110. package/dist/solana/ata-utils.d.ts +39 -0
  111. package/dist/solana/ata-utils.d.ts.map +1 -0
  112. package/dist/solana/ata-utils.js +49 -0
  113. package/dist/solana/ata-utils.js.map +1 -0
  114. package/dist/strategies/trade-journal.d.ts +78 -0
  115. package/dist/strategies/trade-journal.d.ts.map +1 -0
  116. package/dist/strategies/trade-journal.js +92 -0
  117. package/dist/strategies/trade-journal.js.map +1 -0
  118. package/dist/tools/adrena/adrena-commodity-tools.d.ts +15 -0
  119. package/dist/tools/adrena/adrena-commodity-tools.d.ts.map +1 -0
  120. package/dist/tools/adrena/adrena-commodity-tools.js +137 -0
  121. package/dist/tools/adrena/adrena-commodity-tools.js.map +1 -0
  122. package/dist/tools/adrena/adrena-data-tools.d.ts +23 -0
  123. package/dist/tools/adrena/adrena-data-tools.d.ts.map +1 -0
  124. package/dist/tools/adrena/adrena-data-tools.js +437 -0
  125. package/dist/tools/adrena/adrena-data-tools.js.map +1 -0
  126. package/dist/tools/adrena/adrena-helpers.d.ts +46 -0
  127. package/dist/tools/adrena/adrena-helpers.d.ts.map +1 -0
  128. package/dist/tools/adrena/adrena-helpers.js +41 -0
  129. package/dist/tools/adrena/adrena-helpers.js.map +1 -0
  130. package/dist/tools/adrena/adrena-index.d.ts +20 -0
  131. package/dist/tools/adrena/adrena-index.d.ts.map +1 -0
  132. package/dist/tools/adrena/adrena-index.js +75 -0
  133. package/dist/tools/adrena/adrena-index.js.map +1 -0
  134. package/dist/tools/adrena/adrena-limit-order-tools.d.ts +22 -0
  135. package/dist/tools/adrena/adrena-limit-order-tools.d.ts.map +1 -0
  136. package/dist/tools/adrena/adrena-limit-order-tools.js +91 -0
  137. package/dist/tools/adrena/adrena-limit-order-tools.js.map +1 -0
  138. package/dist/tools/adrena/adrena-liquidity-tools.d.ts +15 -0
  139. package/dist/tools/adrena/adrena-liquidity-tools.d.ts.map +1 -0
  140. package/dist/tools/adrena/adrena-liquidity-tools.js +108 -0
  141. package/dist/tools/adrena/adrena-liquidity-tools.js.map +1 -0
  142. package/dist/tools/adrena/adrena-snapshot-tools.d.ts +42 -0
  143. package/dist/tools/adrena/adrena-snapshot-tools.d.ts.map +1 -0
  144. package/dist/tools/adrena/adrena-snapshot-tools.js +124 -0
  145. package/dist/tools/adrena/adrena-snapshot-tools.js.map +1 -0
  146. package/dist/tools/adrena/adrena-staking-tools.d.ts +15 -0
  147. package/dist/tools/adrena/adrena-staking-tools.d.ts.map +1 -0
  148. package/dist/tools/adrena/adrena-staking-tools.js +139 -0
  149. package/dist/tools/adrena/adrena-staking-tools.js.map +1 -0
  150. package/dist/tools/adrena/adrena-trading-tools.d.ts +78 -0
  151. package/dist/tools/adrena/adrena-trading-tools.d.ts.map +1 -0
  152. package/dist/tools/adrena/adrena-trading-tools.js +556 -0
  153. package/dist/tools/adrena/adrena-trading-tools.js.map +1 -0
  154. package/dist/tools/adrena-tools.d.ts +2 -0
  155. package/dist/tools/adrena-tools.d.ts.map +1 -0
  156. package/dist/tools/adrena-tools.js +2 -0
  157. package/dist/tools/adrena-tools.js.map +1 -0
  158. package/dist/tools/client-sdk-tools.d.ts +8 -0
  159. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  160. package/dist/tools/client-sdk-tools.js +32 -7
  161. package/dist/tools/client-sdk-tools.js.map +1 -1
  162. package/dist/tools/memory-tools.d.ts.map +1 -1
  163. package/dist/tools/memory-tools.js +170 -0
  164. package/dist/tools/memory-tools.js.map +1 -1
  165. package/dist/tools/perp-tools.d.ts +6 -31
  166. package/dist/tools/perp-tools.d.ts.map +1 -1
  167. package/dist/tools/perp-tools.js +6 -1141
  168. package/dist/tools/perp-tools.js.map +1 -1
  169. package/dist/tools/premium-tools.d.ts.map +1 -1
  170. package/dist/tools/premium-tools.js +123 -5
  171. package/dist/tools/premium-tools.js.map +1 -1
  172. package/dist/tools/quick-context-tool.js +1 -0
  173. package/dist/tools/quick-context-tool.js.map +1 -1
  174. package/dist/tools/register-tools.d.ts.map +1 -1
  175. package/dist/tools/register-tools.js +4 -0
  176. package/dist/tools/register-tools.js.map +1 -1
  177. package/dist/tools/transaction-tools.d.ts +21 -1
  178. package/dist/tools/transaction-tools.d.ts.map +1 -1
  179. package/dist/tools/transaction-tools.js +114 -30
  180. package/dist/tools/transaction-tools.js.map +1 -1
  181. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  182. package/dist/tools/x402-paid-call-tool.js +288 -0
  183. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  184. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  185. package/docs/10_OPERATIONS_RELEASE_AND_PM2.md +54 -6
  186. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  187. package/docs/BRANCH_AND_CI.md +2 -2
  188. package/package.json +3 -2
  189. package/server.json +3 -3
  190. package/skills/sap-defi/SKILL.md +93 -22
  191. package/skills/sap-mcp/TOOL_REFERENCE.md +39 -4
@@ -5,7 +5,7 @@
5
5
  ```
6
6
  main ← production-ready, tagged releases only
7
7
  develop ← integration branch, PRs merge here first
8
- release/* ← optional release prep branches (release/0.9.37)
8
+ release/* ← optional release prep branches (release/0.9.38)
9
9
  feature/* ← short-lived feature branches → PR to develop
10
10
  hotfix/* ← urgent fixes → PR to main + cherry-pick to develop
11
11
  ```
@@ -57,7 +57,7 @@ GitHub Actions secrets (configured in repo settings):
57
57
 
58
58
  ## Tag convention
59
59
 
60
- Tags are plain version numbers: `0.9.37` (NOT `v0.9.37`).
60
+ Tags are plain version numbers: `0.9.38` (NOT `v0.9.38`).
61
61
 
62
62
  ## Binary artifacts
63
63
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oobe-protocol-labs/sap-mcp-server",
3
- "version": "0.9.37",
3
+ "version": "0.9.50",
4
4
  "mcpName": "ai.oobeprotocol.sap.mcp/sap-mcp",
5
5
  "description": "Official MCP gateway for OOBE Protocol SAP — AI agents can interact with SAP identity, registry, reputation, tools, memory, payments, settlement, and proof-of-execution on Solana",
6
6
  "type": "module",
@@ -91,6 +91,7 @@
91
91
  "@oobe-protocol-labs/synapse-client-sdk": "^2.0.6",
92
92
  "@oobe-protocol-labs/synapse-sap-sdk": "^1.0.2",
93
93
  "@solana/kit": "^5.5.1",
94
+ "@solana/spl-token": "0.3.8",
94
95
  "@solana/sysvars": "^5.5.1",
95
96
  "@solana/web3.js": "^1.95.0",
96
97
  "@types/better-sqlite3": "^7.6.13",
@@ -158,4 +159,4 @@
158
159
  "ws": "^8.21.0"
159
160
  },
160
161
  "packageManager": "pnpm@11.7.0"
161
- }
162
+ }
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "ai.oobeprotocol.sap.mcp/sap-mcp",
4
4
  "title": "SAP MCP Server | OOBE Protocol",
5
5
  "description": "Solana-native MCP gateway for SAP tools, DeFi, SNS identity, x402/pay.sh, and agent operations.",
6
- "version": "0.9.37",
6
+ "version": "0.9.50",
7
7
  "websiteUrl": "https://mcp.sap.oobeprotocol.ai/",
8
8
  "repository": {
9
9
  "url": "https://github.com/OOBE-PROTOCOL/sap-mcp",
@@ -29,7 +29,7 @@
29
29
  {
30
30
  "registryType": "npm",
31
31
  "identifier": "@oobe-protocol-labs/sap-mcp-server",
32
- "version": "0.9.37",
32
+ "version": "0.9.50",
33
33
  "transport": {
34
34
  "type": "stdio"
35
35
  },
@@ -45,7 +45,7 @@
45
45
  },
46
46
  {
47
47
  "type": "positional",
48
- "value": "@oobe-protocol-labs/sap-mcp-server@0.9.37"
48
+ "value": "@oobe-protocol-labs/sap-mcp-server@0.9.50"
49
49
  },
50
50
  {
51
51
  "type": "positional",
@@ -29,6 +29,7 @@ bridges, and staking protocols.
29
29
  - `sap_perp_position_info`
30
30
  - `sap_perp_funding_history`
31
31
  - `sap_perp_liquidation_zones`
32
+ - `sap_perp_builder_status`
32
33
  - `sap_chart_ohlc`
33
34
  - `sap_chart_long_term`
34
35
  - `sap_chart_volume_profile`
@@ -43,6 +44,61 @@ bridges, and staking protocols.
43
44
  - `bridging_*`
44
45
  - `staking_*`
45
46
 
47
+ ## Adrena Perps Protocol (32 tools)
48
+
49
+ SAP MCP 0.9.38+ includes a full native Adrena integration: local unsigned
50
+ transaction builders for every Adrena operation plus a REST Data API client.
51
+ All builders use the vendored official Adrena IDL (release/39) via
52
+ `@coral-xyz/anchor` and produce unsigned base64 transactions for local
53
+ signing via `sap_payments_finalize_transaction`.
54
+
55
+ ### Trading Builders
56
+
57
+ - `sap_adrena_build_open_long` — Open/increase a long perp position
58
+ - `sap_adrena_build_open_short` — Open/increase a short perp position
59
+ - `sap_adrena_build_close_long` — Close a long perp position
60
+ - `sap_adrena_build_close_short` — Close a short perp position
61
+ - `sap_adrena_build_set_stop_loss` — Set stop loss on a position
62
+ - `sap_adrena_build_set_take_profit` — Set take profit on a position
63
+ - `sap_adrena_build_cancel_stop_loss` — Cancel stop loss
64
+ - `sap_adrena_build_cancel_take_profit` — Cancel take profit
65
+ - `sap_adrena_build_add_limit_order` — Place a limit order
66
+ - `sap_adrena_build_cancel_limit_order` — Cancel a limit order
67
+
68
+ ### Commodity Builders (synthetic perps: XAU, XAG, WTI)
69
+
70
+ - `sap_adrena_build_open_commodity_long`
71
+ - `sap_adrena_build_open_commodity_short`
72
+ - `sap_adrena_build_close_commodity_long`
73
+ - `sap_adrena_build_close_commodity_short`
74
+
75
+ ### Liquidity & Swap
76
+
77
+ - `sap_adrena_build_add_liquidity` — Add liquidity to a pool
78
+ - `sap_adrena_build_remove_liquidity` — Remove liquidity from a pool
79
+ - `sap_adrena_build_swap` — Swap tokens through a pool
80
+
81
+ ### Staking
82
+
83
+ - `sap_adrena_build_init_user_staking` — Initialize user staking account
84
+ - `sap_adrena_build_add_liquid_stake` — Add liquid stake
85
+ - `sap_adrena_build_remove_liquid_stake` — Remove liquid stake
86
+ - `sap_adrena_build_add_locked_stake` — Add locked stake
87
+ - `sap_adrena_build_claim_stakes` — Claim staking rewards
88
+
89
+ ### Data API (market data from datapi.adrena.trade)
90
+
91
+ - `sap_adrena_get_positions` — Position history for a wallet
92
+ - `sap_adrena_get_pool_info` — Latest pool statistics
93
+ - `sap_adrena_get_custody_info` — Per-asset custody statistics
94
+ - `sap_adrena_get_trader_info` — Trader performance metrics
95
+ - `sap_adrena_get_trader_leaderboard` — Trader leaderboard
96
+ - `sap_adrena_get_mutagen` — Mutagen points for a wallet
97
+ - `sap_adrena_get_mutagen_leaderboard` — Mutagen leaderboard
98
+ - `sap_adrena_get_prices` — ADX and ALP token prices
99
+ - `sap_adrena_get_trading_prices` — Latest oracle prices for all assets
100
+ - `sap_adrena_get_position_status` — Live position P&L
101
+
46
102
  ## Flow
47
103
 
48
104
  1. Use quote/read tools first.
@@ -60,34 +116,49 @@ bridges, and staking protocols.
60
116
 
61
117
  ## Professional Perps Flow
62
118
 
63
- For perps or leveraged trading tasks, start with hosted SAP analytics and
119
+ For perps or leveraged trading tasks, start with Adrena market data and
64
120
  planning tools before any value-moving action:
65
121
 
66
- 1. Call `sap_perp_markets` to inspect supported markets, mark prices, funding,
67
- and open interest.
68
- 2. Call `sap_perp_position_info` when the user has an existing wallet position.
69
- 3. Call `sap_chart_ohlc`, `sap_chart_long_term`, or
122
+ 1. Call `sap_adrena_get_pool_info` or `sap_perp_markets` to inspect Adrena
123
+ markets: supported custody, pool, oracle labels, funding state, leverage
124
+ caps, open interest, and cumulative volume.
125
+ 2. Call `sap_adrena_get_trading_prices` for live oracle prices across all
126
+ traded assets (JITOSOL, WBTC, BONK, XAU, XAG, WTI).
127
+ 3. Call `sap_adrena_get_positions` or `sap_perp_position_info` when the user
128
+ has an existing wallet position.
129
+ 4. Call `sap_chart_ohlc`, `sap_chart_long_term`, or
70
130
  `sap_chart_volume_profile` for trend, timeframe, and liquidity context.
71
- 4. Call `sap_perp_liquidation_zones` to understand liquidation distance and
72
- crowded-risk areas.
73
- 5. Call `sap_perp_trade_plan` with market, side, collateral amount, leverage,
131
+ 5. Call `sap_perp_liquidation_zones` to understand liquidation distance.
132
+ 6. Call `sap_perp_trade_plan` with market, side, collateral amount, leverage,
74
133
  entry price, stop loss, take profit, max slippage, and max account-risk
75
134
  policy.
135
+ 7. Call `sap_perp_builder_status` to confirm which Adrena operations are
136
+ available. As of 0.9.38, all 22 builder operations and 10 Data API tools
137
+ are available natively.
138
+
139
+ ### Execution Flow (Adrena)
140
+
141
+ 1. Call `sap_adrena_build_open_long` (or short) with the owner wallet,
142
+ principal token, collateral token, amount, and leverage.
143
+ 2. The builder returns `transactionBase64` — an unsigned Solana transaction
144
+ constructed from the vendored Adrena IDL via `@coral-xyz/anchor`.
145
+ 3. Call `sap_payments_finalize_transaction` with `transactionBase64` and
146
+ `submit: true` (after user confirmation) to sign and submit locally.
147
+ 4. SAP MCP never signs user-owned Adrena transactions. All signing is local.
148
+
149
+ ### Collateral Rules
150
+
151
+ - **Longs**: collateral token must match principal token (e.g. a JITOSOL
152
+ long requires JITOSOL collateral).
153
+ - **Shorts**: collateral must be USDC.
154
+ - **Commodities** (XAU, XAG, WTI): collateral is always USDC.
155
+
156
+ ### Supported Assets
76
157
 
77
- `sap_perp_trade_plan` is analysis-only. It returns trader-grade risk flags,
78
- liquidation estimate, reward/risk, and an execution checklist. `sap_perp_markets`
79
- may return `dataAvailability.status="unavailable"` when the configured RPC does
80
- not serve the required perps account indexes; treat that as missing data, not as
81
- proof that markets do not exist. Do not create temporary signing scripts, do not
82
- guess perps account graphs, and do not execute a perps transaction unless SAP MCP
83
- exposes a typed unsigned builder or a local SAP payments/signing tool for that
84
- exact action.
85
-
86
- Direct Adrena signer tools may exist in some local AgentKit builds, but hosted
87
- SAP MCP blocks them before x402 payment because the hosted server is
88
- accountless. Do not route `adrena_openPosition`, `adrena_closePosition`, or
89
- collateral-changing Adrena calls through `sap_payments_call_paid_tool`; there is
90
- no payment challenge and no unsigned transaction to finalize.
158
+ | Pool | Assets | Collateral |
159
+ |------|--------|------------|
160
+ | main-pool | JITOSOL, WBTC, BONK | USDC, JITOSOL, WBTC, BONK |
161
+ | commodities-pool | XAU (Gold), XAG (Silver), WTI (Crude Oil) | USDC |
91
162
 
92
163
  ## Safety
93
164
 
@@ -220,7 +220,42 @@ Social, Blinks, bounties, gaming:
220
220
  `gibwork_createBounty`, `gibwork_listBounties`, `gibwork_submitWork`,
221
221
  `send-arcade_listGames`, `send-arcade_playGame`.
222
222
 
223
- Perps note: SAP MCP hosted supports perps analytics and trader-grade planning,
224
- not direct hosted Adrena execution. If direct Adrena signer tools are visible in
225
- a local runtime, use them only with that local runtime's signer path and policy.
226
- Do not route direct Adrena writes through hosted x402 paid-call replay.
223
+ Perps note: SAP MCP 0.9.38+ includes a full native Adrena integration with
224
+ 32 tools. All 22 builder operations construct unsigned Solana transactions
225
+ locally using the vendored Adrena Anchor IDL (release/39) via
226
+ `@coral-xyz/anchor`, then return `transactionBase64` for local signing via
227
+ `sap_payments_finalize_transaction`. No external builder URL is required.
228
+
229
+ Adrena trading builders: `sap_adrena_build_open_long`,
230
+ `sap_adrena_build_open_short`, `sap_adrena_build_close_long`,
231
+ `sap_adrena_build_close_short`, `sap_adrena_build_set_stop_loss`,
232
+ `sap_adrena_build_set_take_profit`, `sap_adrena_build_cancel_stop_loss`,
233
+ `sap_adrena_build_cancel_take_profit`, `sap_adrena_build_add_limit_order`,
234
+ `sap_adrena_build_cancel_limit_order`.
235
+
236
+ Commodity builders (XAU, XAG, WTI): `sap_adrena_build_open_commodity_long`,
237
+ `sap_adrena_build_open_commodity_short`, `sap_adrena_build_close_commodity_long`,
238
+ `sap_adrena_build_close_commodity_short`.
239
+
240
+ Liquidity & swap: `sap_adrena_build_add_liquidity`,
241
+ `sap_adrena_build_remove_liquidity`, `sap_adrena_build_swap`.
242
+
243
+ Staking: `sap_adrena_build_init_user_staking`, `sap_adrena_build_add_liquid_stake`,
244
+ `sap_adrena_build_remove_liquid_stake`, `sap_adrena_build_add_locked_stake`,
245
+ `sap_adrena_build_claim_stakes`.
246
+
247
+ Data API (datapi.adrena.trade): `sap_adrena_get_positions`,
248
+ `sap_adrena_get_pool_info`, `sap_adrena_get_custody_info`,
249
+ `sap_adrena_get_trader_info`, `sap_adrena_get_trader_leaderboard`,
250
+ `sap_adrena_get_mutagen`, `sap_adrena_get_mutagen_leaderboard`,
251
+ `sap_adrena_get_prices`, `sap_adrena_get_trading_prices`,
252
+ `sap_adrena_get_position_status`.
253
+
254
+ Legacy perps analytics remain available: `sap_perp_markets`,
255
+ `sap_perp_position_info`, `sap_perp_funding_history`,
256
+ `sap_perp_liquidation_zones`, `sap_perp_trade_plan`, `sap_perp_builder_status`,
257
+ `sap_chart_ohlc`, `sap_chart_long_term`, `sap_chart_volume_profile`.
258
+
259
+ Collateral rules: longs require collateral = principal token; shorts require
260
+ USDC collateral; commodities always use USDC. Supported main-pool assets:
261
+ JITOSOL, WBTC, BONK. Supported commodities: XAU, XAG, WTI.