@oracle-agent/oracle 0.14.1 → 0.16.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.
- package/README.md +2 -2
- package/SETUP.md +4 -4
- package/dist/action-receipts.mjs +1 -0
- package/dist/action-semantics.mjs +1 -0
- package/dist/address-book.mjs +2 -0
- package/dist/bin/desk-server.mjs +60 -0
- package/dist/bin/oracle-data-mcp.mjs +9 -0
- package/dist/bin/oracle-equities.mjs +20 -0
- package/dist/bin/oracle-init.mjs +24 -0
- package/dist/bin/oracle-public-server.mjs +5 -0
- package/dist/bin/oracle-route.mjs +22 -0
- package/dist/bin/oracle-scan.mjs +18 -0
- package/dist/bin/oracle-upgrade.mjs +21 -0
- package/dist/bin/oracle.mjs +63 -0
- package/dist/chains.mjs +1 -0
- package/dist/cli/commands/auth.mjs +16 -0
- package/dist/cli/commands/bootstrap.mjs +18 -0
- package/dist/cli/commands/chain.mjs +21 -0
- package/dist/cli/commands/chat.mjs +45 -0
- package/dist/cli/commands/credential.mjs +1 -0
- package/dist/cli/commands/data-mcp.mjs +2 -0
- package/dist/cli/commands/data.mjs +12 -0
- package/dist/cli/commands/doctor.mjs +5 -0
- package/dist/cli/commands/equities.mjs +15 -0
- package/dist/cli/commands/farm.mjs +59 -0
- package/dist/cli/commands/fees.mjs +10 -0
- package/dist/cli/commands/follow.mjs +28 -0
- package/dist/cli/commands/harness.mjs +15 -0
- package/dist/cli/commands/help.mjs +1 -0
- package/dist/cli/commands/init.mjs +3 -0
- package/dist/cli/commands/mcp.mjs +36 -0
- package/dist/cli/commands/model.mjs +54 -0
- package/dist/cli/commands/plugins.mjs +43 -0
- package/dist/cli/commands/prepare.mjs +2 -0
- package/dist/cli/commands/public.mjs +3 -0
- package/dist/cli/commands/resolve.mjs +23 -0
- package/dist/cli/commands/route.mjs +2 -0
- package/dist/cli/commands/runner.mjs +1 -0
- package/dist/cli/commands/scan.mjs +2 -0
- package/dist/cli/commands/setup.mjs +34 -0
- package/dist/cli/commands/sign.mjs +4 -0
- package/dist/cli/commands/signer.mjs +1 -0
- package/dist/cli/commands/strategy.mjs +18 -0
- package/dist/cli/commands/swap.mjs +36 -0
- package/dist/cli/commands/upgrade.mjs +2 -0
- package/dist/cli/commands/vault.mjs +1 -0
- package/dist/cli/commands/version.mjs +2 -0
- package/dist/data/desk-data.mjs +55 -0
- package/dist/data/names.mjs +2 -0
- package/dist/data/providers/farming.mjs +2 -0
- package/dist/equities/index.mjs +1 -0
- package/dist/index.mjs +60 -0
- package/dist/nft-gas-war-guard.mjs +1 -0
- package/dist/onboarding/harness-configs.mjs +4 -0
- package/dist/portfolio-risk.mjs +1 -0
- package/dist/prepare-envelope.mjs +1 -0
- package/dist/public-api/agent-grants.mjs +3 -0
- package/dist/public-control/policy-schema.mjs +1 -0
- package/dist/router/index.mjs +2 -0
- package/dist/scanner/index.mjs +4 -0
- package/dist/signals/index.mjs +1 -0
- package/dist/strategy/index.mjs +3 -0
- package/dist/watch-preferences.mjs +1 -0
- package/package.json +33 -78
- package/public/oracle-splash/_variants/ice.html +5 -18
- package/public/oracle-splash/_variants/ivory.html +5 -18
- package/public/oracle-splash/downloads/index.html +4 -4
- package/public/oracle-splash/index.html +113 -34
- package/CONTRIBUTING.md +0 -99
- package/bin/desk-server.mjs +0 -473
- package/bin/oracle-data-mcp.mjs +0 -1252
- package/bin/oracle-equities.mjs +0 -168
- package/bin/oracle-init.mjs +0 -525
- package/bin/oracle-public-server.mjs +0 -36
- package/bin/oracle-route.mjs +0 -254
- package/bin/oracle-scan.mjs +0 -192
- package/bin/oracle-upgrade.mjs +0 -42
- package/bin/oracle.mjs +0 -34
- package/docs/adding-a-chain.md +0 -229
- package/docs/architecture.md +0 -139
- package/docs/buzz-integration.md +0 -115
- package/docs/cli.md +0 -143
- package/docs/connectors.md +0 -13
- package/docs/hyperliquid-builder-code.md +0 -50
- package/docs/locals-only-fee-waiver.md +0 -34
- package/docs/oracle-pack-standard.md +0 -29
- package/docs/profiles.md +0 -151
- package/docs/public-surface.md +0 -206
- package/examples/add-a-chain.mjs +0 -65
- package/examples/oracle-pack-template.mjs +0 -38
- package/examples/research-a-token.mjs +0 -70
- package/plugins/oracle-owner-gate/__init__.py +0 -288
- package/plugins/oracle-owner-gate/plugin.yaml +0 -9
- package/protocols/templates/safe-erc20/SECURITY.md +0 -16
- package/protocols/templates/safe-erc20/foundry.toml +0 -12
- package/protocols/templates/safe-erc20/remappings.txt +0 -2
- package/protocols/templates/safe-erc20/src/SafeERC20.sol +0 -53
- package/protocols/templates/safe-erc20/test/SafeERC20.t.sol +0 -72
- package/scripts/adversarial-bench.mjs +0 -114
- package/scripts/build-dist.mjs +0 -119
- package/scripts/build-inscription.py +0 -230
- package/scripts/check-doc-drift.mjs +0 -123
- package/scripts/check-test-count.mjs +0 -105
- package/scripts/e2e-hl-markets.mjs +0 -21
- package/scripts/e2e-hl-perps.mjs +0 -48
- package/scripts/e2e-hypercore-staking.mjs +0 -128
- package/scripts/e2e-solana-bitcoin.mjs +0 -183
- package/scripts/guard-publish.mjs +0 -22
- package/scripts/protocol-template-gate.mjs +0 -15
- package/scripts/public-api-scan.mjs +0 -23
- package/scripts/publish-dist.mjs +0 -67
- package/scripts/record-hero-cli.sh +0 -80
- package/scripts/secret-scan.mjs +0 -169
- package/scripts/smoke-dist-bins.mjs +0 -89
- package/scripts/verify-dist.mjs +0 -29
- package/scripts/verify-v3-venues.mjs +0 -233
- package/skins/oracle.yaml +0 -56
- package/src/action-receipts.mjs +0 -265
- package/src/action-semantics.mjs +0 -62
- package/src/address-book.mjs +0 -208
- package/src/agent-auth.mjs +0 -206
- package/src/approval-guard.mjs +0 -282
- package/src/attestation-secret.mjs +0 -94
- package/src/audit-log.mjs +0 -196
- package/src/auth/oauth.mjs +0 -672
- package/src/auto-slippage.mjs +0 -378
- package/src/capability-posture.mjs +0 -125
- package/src/cards.mjs +0 -422
- package/src/chains.mjs +0 -62
- package/src/cli/chain-catalog.mjs +0 -215
- package/src/cli/chain-state.mjs +0 -74
- package/src/cli/commands/auth.mjs +0 -193
- package/src/cli/commands/bootstrap.mjs +0 -87
- package/src/cli/commands/chain.mjs +0 -143
- package/src/cli/commands/chat.mjs +0 -465
- package/src/cli/commands/credential.mjs +0 -9
- package/src/cli/commands/data-mcp.mjs +0 -18
- package/src/cli/commands/data.mjs +0 -75
- package/src/cli/commands/doctor.mjs +0 -136
- package/src/cli/commands/equities.mjs +0 -41
- package/src/cli/commands/farm.mjs +0 -129
- package/src/cli/commands/fees.mjs +0 -109
- package/src/cli/commands/follow.mjs +0 -130
- package/src/cli/commands/harness.mjs +0 -63
- package/src/cli/commands/help.mjs +0 -7
- package/src/cli/commands/init.mjs +0 -27
- package/src/cli/commands/mcp.mjs +0 -154
- package/src/cli/commands/model.mjs +0 -106
- package/src/cli/commands/plugins.mjs +0 -275
- package/src/cli/commands/prepare.mjs +0 -12
- package/src/cli/commands/public.mjs +0 -20
- package/src/cli/commands/resolve.mjs +0 -64
- package/src/cli/commands/route.mjs +0 -12
- package/src/cli/commands/runner.mjs +0 -9
- package/src/cli/commands/scan.mjs +0 -12
- package/src/cli/commands/setup.mjs +0 -294
- package/src/cli/commands/sign.mjs +0 -21
- package/src/cli/commands/signer.mjs +0 -9
- package/src/cli/commands/swap.mjs +0 -102
- package/src/cli/commands/upgrade.mjs +0 -12
- package/src/cli/commands/vault.mjs +0 -9
- package/src/cli/commands/version.mjs +0 -22
- package/src/cli/first-run.mjs +0 -23
- package/src/cli/kernel.mjs +0 -262
- package/src/cli/mcp-targets/chatgpt.mjs +0 -51
- package/src/cli/mcp-targets/claude-code.mjs +0 -39
- package/src/cli/mcp-targets/claude-desktop.mjs +0 -24
- package/src/cli/mcp-targets/codex.mjs +0 -41
- package/src/cli/mcp-targets/cursor.mjs +0 -32
- package/src/cli/mcp-targets/shared.mjs +0 -71
- package/src/cli/mcp-targets/vscode.mjs +0 -39
- package/src/cli/messaging-platforms.mjs +0 -217
- package/src/cli/model-config.mjs +0 -78
- package/src/cli/operator-dispatch.mjs +0 -194
- package/src/cli/oracle-harness.py +0 -415
- package/src/cli/paths.mjs +0 -107
- package/src/cli/runtime.mjs +0 -351
- package/src/cli/setup-state.mjs +0 -168
- package/src/cli/spawn-child.mjs +0 -43
- package/src/data/catalog.mjs +0 -858
- package/src/data/desk-data.mjs +0 -877
- package/src/data/http.mjs +0 -253
- package/src/data/names.mjs +0 -188
- package/src/data/provider-endpoint.mjs +0 -94
- package/src/data/providers/aave-v3.mjs +0 -139
- package/src/data/providers/across-bridge.mjs +0 -41
- package/src/data/providers/aerodrome.mjs +0 -245
- package/src/data/providers/aevo.mjs +0 -33
- package/src/data/providers/approval-indexer.mjs +0 -133
- package/src/data/providers/approvals.mjs +0 -594
- package/src/data/providers/babylon-staking.mjs +0 -149
- package/src/data/providers/balancer.mjs +0 -209
- package/src/data/providers/beefy-yields.mjs +0 -45
- package/src/data/providers/birdeye-tokens.mjs +0 -33
- package/src/data/providers/bisq-markets.mjs +0 -145
- package/src/data/providers/bitcoin-esplora.mjs +0 -216
- package/src/data/providers/bitcoin-meta.mjs +0 -378
- package/src/data/providers/blockscout.mjs +0 -14
- package/src/data/providers/bob-rootstock.mjs +0 -198
- package/src/data/providers/braiins-insights.mjs +0 -103
- package/src/data/providers/bridge-aggregator.mjs +0 -259
- package/src/data/providers/bridges.mjs +0 -242
- package/src/data/providers/bungee.mjs +0 -29
- package/src/data/providers/celestia-da.mjs +0 -38
- package/src/data/providers/changenow.mjs +0 -135
- package/src/data/providers/compound.mjs +0 -32
- package/src/data/providers/connext.mjs +0 -28
- package/src/data/providers/convex.mjs +0 -30
- package/src/data/providers/cow-protocol.mjs +0 -110
- package/src/data/providers/cowswap.mjs +0 -415
- package/src/data/providers/curve.mjs +0 -201
- package/src/data/providers/das-assets.mjs +0 -59
- package/src/data/providers/debridge.mjs +0 -109
- package/src/data/providers/defillama.mjs +0 -88
- package/src/data/providers/dexscreener.mjs +0 -43
- package/src/data/providers/drift.mjs +0 -32
- package/src/data/providers/dydx.mjs +0 -41
- package/src/data/providers/evm-rpc.mjs +0 -225
- package/src/data/providers/farming.mjs +0 -291
- package/src/data/providers/geckoterminal.mjs +0 -34
- package/src/data/providers/gmx.mjs +0 -496
- package/src/data/providers/hiro-stacks.mjs +0 -150
- package/src/data/providers/hl-assets.mjs +0 -165
- package/src/data/providers/hl-info.mjs +0 -108
- package/src/data/providers/hl-markets.mjs +0 -210
- package/src/data/providers/hl-outcome.mjs +0 -61
- package/src/data/providers/hl-perps.mjs +0 -419
- package/src/data/providers/hl-staking.mjs +0 -353
- package/src/data/providers/hl-ws.mjs +0 -119
- package/src/data/providers/hyperevm-dex.mjs +0 -49
- package/src/data/providers/jito-mev.mjs +0 -117
- package/src/data/providers/jupiter-venues.mjs +0 -119
- package/src/data/providers/jupiter.mjs +0 -315
- package/src/data/providers/kamino-strategies.mjs +0 -143
- package/src/data/providers/l2beat-tvl.mjs +0 -42
- package/src/data/providers/lifi.mjs +0 -166
- package/src/data/providers/liquid-esplora.mjs +0 -152
- package/src/data/providers/magiceden-ordinals.mjs +0 -141
- package/src/data/providers/magiceden-sol.mjs +0 -406
- package/src/data/providers/mempool-lightning.mjs +0 -144
- package/src/data/providers/mempool-mining.mjs +0 -142
- package/src/data/providers/meteora-dlmm.mjs +0 -168
- package/src/data/providers/morpho.mjs +0 -177
- package/src/data/providers/nft-gallery.mjs +0 -163
- package/src/data/providers/nft-portfolio.mjs +0 -494
- package/src/data/providers/odos.mjs +0 -156
- package/src/data/providers/ondo.mjs +0 -31
- package/src/data/providers/oneinch.mjs +0 -174
- package/src/data/providers/opensea-multichain.mjs +0 -136
- package/src/data/providers/opensea-nft.mjs +0 -371
- package/src/data/providers/orca.mjs +0 -29
- package/src/data/providers/ordinals-runes.mjs +0 -180
- package/src/data/providers/pancakeswap.mjs +0 -28
- package/src/data/providers/paraswap.mjs +0 -125
- package/src/data/providers/pendle.mjs +0 -188
- package/src/data/providers/poly-clob.mjs +0 -283
- package/src/data/providers/poly-public.mjs +0 -96
- package/src/data/providers/poly-ws.mjs +0 -103
- package/src/data/providers/polygon-staking.mjs +0 -227
- package/src/data/providers/portfolio-history.mjs +0 -394
- package/src/data/providers/portfolio.mjs +0 -600
- package/src/data/providers/pyth-price-feeds.mjs +0 -172
- package/src/data/providers/raydium.mjs +0 -35
- package/src/data/providers/relayscan-mev.mjs +0 -72
- package/src/data/providers/rfq.mjs +0 -15
- package/src/data/providers/rh-agent.mjs +0 -59
- package/src/data/providers/sanctum-lst.mjs +0 -180
- package/src/data/providers/satflow.mjs +0 -341
- package/src/data/providers/signed-material-guard.mjs +0 -108
- package/src/data/providers/solana-rpc.mjs +0 -197
- package/src/data/providers/solend-lending.mjs +0 -166
- package/src/data/providers/spark-lend.mjs +0 -42
- package/src/data/providers/squid-router.mjs +0 -29
- package/src/data/providers/stargate.mjs +0 -29
- package/src/data/providers/sushiswap.mjs +0 -30
- package/src/data/providers/symbiotic-restaking.mjs +0 -41
- package/src/data/providers/thorchain.mjs +0 -36
- package/src/data/providers/traderjoe.mjs +0 -28
- package/src/data/providers/twap.mjs +0 -152
- package/src/data/providers/uniswap-v3.mjs +0 -457
- package/src/data/providers/uniswap-v4.mjs +0 -414
- package/src/data/providers/vertex.mjs +0 -41
- package/src/data/providers/wallet-watch.mjs +0 -264
- package/src/data/providers/wormhole.mjs +0 -28
- package/src/data/providers/yearn.mjs +0 -31
- package/src/data/providers/zerox.mjs +0 -167
- package/src/data/public-api-scan.mjs +0 -61
- package/src/data/quote-placeholder.mjs +0 -31
- package/src/desk/swap-prepare.mjs +0 -194
- package/src/equities/bridge.mjs +0 -388
- package/src/equities/fixtures/bridge_routes.json +0 -159
- package/src/equities/fixtures/dst_transitions.json +0 -29
- package/src/equities/fixtures/equity_dex_pools.json +0 -154
- package/src/equities/fixtures/hip3_l2books.json +0 -2711
- package/src/equities/fixtures/nyse_holidays.json +0 -1
- package/src/equities/fixtures/oracles.json +0 -100
- package/src/equities/fixtures/rh_pool_state.json +0 -244
- package/src/equities/fixtures/solana_xstocks.json +0 -704
- package/src/equities/fixtures/ton_xstocks.json +0 -35
- package/src/equities/fixtures/universe.json +0 -411
- package/src/equities/fixtures/venues.json +0 -3542
- package/src/equities/fixtures.mjs +0 -405
- package/src/equities/funding.mjs +0 -142
- package/src/equities/index.mjs +0 -166
- package/src/equities/liveness.mjs +0 -148
- package/src/equities/marketHours.mjs +0 -249
- package/src/equities/normalize.mjs +0 -295
- package/src/equities/num.mjs +0 -146
- package/src/equities/prepare.mjs +0 -95
- package/src/equities/rank.mjs +0 -260
- package/src/equities/sourceNum.mjs +0 -69
- package/src/equities/types.mjs +0 -220
- package/src/equities/venues/arcus-perp.mjs +0 -84
- package/src/equities/venues/arcus-spot.mjs +0 -105
- package/src/equities/venues/hyperliquid-hip3.mjs +0 -224
- package/src/equities/venues/rh-uniswap.mjs +0 -216
- package/src/equities/venues/solana-xstocks.mjs +0 -139
- package/src/equities/venues/ton-stonfi.mjs +0 -139
- package/src/exact-integer.mjs +0 -72
- package/src/exec-policy.mjs +0 -419
- package/src/flags.mjs +0 -15
- package/src/fresh-window.mjs +0 -76
- package/src/gmx-attestation.mjs +0 -176
- package/src/index.mjs +0 -107
- package/src/licensing/locals-only.mjs +0 -25
- package/src/nft-gas-war-guard.mjs +0 -139
- package/src/onboarding/agent-keys.mjs +0 -161
- package/src/onboarding/harness-configs.mjs +0 -102
- package/src/onboarding/index.mjs +0 -18
- package/src/onboarding/tiers.mjs +0 -139
- package/src/oracle-env.mjs +0 -55
- package/src/package-manifest.mjs +0 -42
- package/src/plugins/agent-plugin-loader.mjs +0 -225
- package/src/portfolio-risk.mjs +0 -170
- package/src/prepare-envelope.mjs +0 -204
- package/src/profile-upgrade.mjs +0 -277
- package/src/protocol-execution.mjs +0 -84
- package/src/protocol-templates/gate.mjs +0 -179
- package/src/protocol-templates/prepare-deploy.mjs +0 -81
- package/src/public-api/agent-grants.mjs +0 -57
- package/src/public-api/buzz-integration.mjs +0 -267
- package/src/public-api/connect-agent.mjs +0 -424
- package/src/public-api/grants.mjs +0 -142
- package/src/public-api/http.mjs +0 -707
- package/src/public-api/metering.mjs +0 -111
- package/src/public-control/aa-adapter.mjs +0 -402
- package/src/public-control/build-registry.mjs +0 -227
- package/src/public-control/bundler-client.mjs +0 -357
- package/src/public-control/grant-indexer.mjs +0 -296
- package/src/public-control/policy-render.mjs +0 -69
- package/src/public-control/policy-schema.mjs +0 -322
- package/src/public-control/runtime-config.mjs +0 -275
- package/src/public-control/session-key-model.mjs +0 -379
- package/src/public-control/session-orchestrator.mjs +0 -418
- package/src/rfq/intent.mjs +0 -180
- package/src/rfq/sources.mjs +0 -181
- package/src/route-attestation.mjs +0 -132
- package/src/router/best-execution.mjs +0 -326
- package/src/router/index.mjs +0 -250
- package/src/router/integrator-fee.mjs +0 -135
- package/src/router/prepare-bridge.mjs +0 -293
- package/src/router/prepare-route.mjs +0 -398
- package/src/router/proposal.mjs +0 -311
- package/src/router/risk-classifier.mjs +0 -119
- package/src/router/route-sources.mjs +0 -364
- package/src/scanner/chains.config.mjs +0 -543
- package/src/scanner/contract.mjs +0 -270
- package/src/scanner/evm-scanner.mjs +0 -394
- package/src/scanner/index.mjs +0 -9
- package/src/scanner/v2-venue.mjs +0 -351
- package/src/scanner/v3-venue.mjs +0 -308
- package/src/scopes.mjs +0 -44
- package/src/sell-simulation.mjs +0 -167
- package/src/signals/engine.mjs +0 -146
- package/src/signals/index.mjs +0 -1
- package/src/token-transfer-guard.mjs +0 -188
- package/src/tui/app.mjs +0 -438
- package/src/tui/backend.mjs +0 -215
- package/src/tui/format.mjs +0 -272
- package/src/tui/gateway-client.mjs +0 -177
- package/src/tui/input.mjs +0 -501
- package/src/tui/memory.mjs +0 -105
- package/src/tui/meta-learn.mjs +0 -85
- package/src/tui/renderer.mjs +0 -443
- package/src/tui/scheduler.mjs +0 -205
- package/src/tui/skills-loader.mjs +0 -140
- package/src/tui/standalone-client.mjs +0 -752
- package/src/tui/theme.mjs +0 -81
- package/src/vault-attestation.mjs +0 -146
- package/src/venues.mjs +0 -206
- package/src/watch-preferences.mjs +0 -85
- /package/{profiles → dist/assets/profiles}/_template/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/_template/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/bitcoin-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/bitcoin-agent/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/hyperliquid-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/hyperliquid-agent/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/oracle/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/oracle/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/polymarket-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/polymarket-agent/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/profile.schema.json +0 -0
- /package/{profiles → dist/assets/profiles}/protocol-builder/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/protocol-builder/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/robinhood-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/robinhood-agent/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/solana-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/solana-agent/profile.json +0 -0
- /package/{profiles → dist/assets/profiles}/stable-agent/SOUL.md +0 -0
- /package/{profiles → dist/assets/profiles}/stable-agent/profile.json +0 -0
- /package/{skills → dist/assets/skills}/balance/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/bitcoin-l1.md +0 -0
- /package/{skills → dist/assets/skills}/chain-defi-ecosystem-profiling.md +0 -0
- /package/{skills → dist/assets/skills}/evm-contract-research.md +0 -0
- /package/{skills → dist/assets/skills}/hyperliquid.md +0 -0
- /package/{skills → dist/assets/skills}/multichain-exec-desk.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-action-semantics/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-best-execution/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-best-execution.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-bitcoin/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-chain-graphs-telegram-cards/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-chat/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-chat/chain.SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-chat/setup.SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-circuit-breaker/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-contract-research/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-desk/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-desk.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-dex-launch/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-equities/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-grants/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-hypercore-staking/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-hyperliquid/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-meme-token-sniper/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-multichain-nft-launch/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-multichain-token-launch/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-nft-gacha-launch/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-nft-mint-gas-war/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-polymarket/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-protocol-builder/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-protocol-security/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-public-product/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-receipts/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-receipts.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-rfq-tokenized-assets/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-smart-wallet-scanner/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-solana/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-solana-nft/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/oracle-token-research/SKILL.md +0 -0
- /package/{skills → dist/assets/skills}/solana.md +0 -0
|
@@ -6,9 +6,20 @@
|
|
|
6
6
|
<title>ORACLE</title>
|
|
7
7
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
|
|
8
8
|
<link rel="shortcut icon" href="/favicon.ico">
|
|
9
|
-
<meta name="description" content="
|
|
9
|
+
<meta name="description" content="Trade, research, and build across every chain. Fully self-custodial.">
|
|
10
10
|
<meta name="theme-color" content="#0B1018" />
|
|
11
11
|
<meta name="robots" content="index,follow" />
|
|
12
|
+
<meta property="og:title" content="ORACLE | The all-in-one multichain agent">
|
|
13
|
+
<meta property="og:description" content="Trade, research, and build across every chain. Fully self-custodial.">
|
|
14
|
+
<meta property="og:image" content="https://oracle.demi.la/assets/hero/orb-poster.jpg">
|
|
15
|
+
<meta property="og:image:width" content="900">
|
|
16
|
+
<meta property="og:image:height" content="900">
|
|
17
|
+
<meta property="og:url" content="https://oracle.demi.la/">
|
|
18
|
+
<meta property="og:type" content="website">
|
|
19
|
+
<meta name="twitter:card" content="summary_large_image">
|
|
20
|
+
<meta name="twitter:title" content="ORACLE | The all-in-one multichain agent">
|
|
21
|
+
<meta name="twitter:description" content="Trade, research, and build across every chain. Fully self-custodial.">
|
|
22
|
+
<meta name="twitter:image" content="https://oracle.demi.la/assets/hero/orb-poster.jpg">
|
|
12
23
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
13
24
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
14
25
|
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=IBM+Plex+Mono:wght@400;500;600&family=Outfit:wght@300;400;500;600;700&family=UnifrakturCook:wght@700&display=swap" rel="stylesheet" />
|
|
@@ -1128,7 +1139,7 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1128
1139
|
<div class="grain" aria-hidden="true"></div>
|
|
1129
1140
|
<div class="progress" id="progress" aria-hidden="true"></div>
|
|
1130
1141
|
|
|
1131
|
-
<div class="loader" id="loader" aria-hidden="true">
|
|
1142
|
+
<div class="loader out" id="loader" aria-hidden="true" style="display:none">
|
|
1132
1143
|
<div class="loader-inner">
|
|
1133
1144
|
<div class="loader-mark orbital" aria-hidden="true">
|
|
1134
1145
|
<svg viewBox="0 0 100 100">
|
|
@@ -1176,7 +1187,7 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1176
1187
|
<a class="enter-cta primary" href="/downloads/">Download</a>
|
|
1177
1188
|
<a class="enter-cta ghost" href="#cli">See the CLI</a>
|
|
1178
1189
|
</div>
|
|
1179
|
-
<p class="hero-note-line">macOS · Windows · Linux /
|
|
1190
|
+
<p class="hero-note-line">macOS · Windows · Linux / desktop app or public CLI</p>
|
|
1180
1191
|
</div>
|
|
1181
1192
|
|
|
1182
1193
|
<figure class="hero-product">
|
|
@@ -1469,8 +1480,8 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1469
1480
|
</article>
|
|
1470
1481
|
<article class="moat-card">
|
|
1471
1482
|
<div class="n">evidence</div>
|
|
1472
|
-
<h3>
|
|
1473
|
-
<p>
|
|
1483
|
+
<h3>See it before you approve. Prove it after.</h3>
|
|
1484
|
+
<p>Before you approve, Oracle shows what you will receive, the expected cost, and which app gets permission to move your tokens. Afterward, it shows whether the transaction succeeded, what changed in your wallet, and whether any permission is still active. You can review unsigned transactions on a hardware wallet. Nothing is marked complete without proof.</p>
|
|
1474
1485
|
</article>
|
|
1475
1486
|
<article class="moat-card">
|
|
1476
1487
|
<div class="n">fail closed</div>
|
|
@@ -1536,7 +1547,8 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1536
1547
|
<noscript><p class="agent-ask">move 5k usdc into weth, cheapest route</p></noscript>
|
|
1537
1548
|
</figure>
|
|
1538
1549
|
</div>
|
|
1539
|
-
|
|
1550
|
+
<p class="agent-caption rv">Same tool from the terminal, the desktop app, any MCP client, or your agent on Telegram, Discord, WhatsApp and Signal. Buzz integration shipped. Prepare-only everywhere: Oracle never holds your keys.</p>
|
|
1551
|
+
<div class="agent-icons rv" style="display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px"><span style="display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--cool);letter-spacing:.08em"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69.01-.03.01-.14-.07-.2-.08-.06-.19-.04-.27-.02-.12.03-1.96 1.25-5.54 3.66-.52.36-1 .53-1.42.52-.47-.01-1.37-.26-2.03-.48-.82-.27-1.47-.42-1.41-.87.03-.24.36-.49.99-.74 3.87-1.69 6.45-2.8 7.74-3.34 3.69-1.53 4.45-1.8 4.95-1.81.11 0 .36.03.52.17.14.12.18.28.2.4.02.11.04.37.01.56z" fill="#229ED9"/></svg>Telegram</span><span style="display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--cool);letter-spacing:.08em"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M19.27 5.33C17.94 4.71 14.48 3.26 10.68 4.77a27.98 27.98 0 0 0-6.02 3.13c-.87.51-1.3.9-1.23 1.44.07.46.57.73 1.42 1.12l.33.15c.85.38 1.28.57 1.43 1.01.08.23.07.6-.08 1.1-.15.51-.5 1.15-1.02 2.02-.34.57-.5.85-.37.99.14.15.48.11 1.09-.26 1.76-1.07 3.18-1.93 4.23-2.59 3.22-2.06 5.08-2.82 5.55-2.28.18.21.06.84-.34 1.85-.39 1.01-1.05 2.32-1.51 3.13-.24.43-.37.64-.45.74-.11.14-.2.16-.3.15-.3-.03-.73-.45-1.41-1.3-.5-.62-.94-1.08-1.26-1.25-.64-.34-1.08-.13-1.14.26-.05.29.14.61.56 1.02.43.41 1.15 1.06 1.56 1.5.53.58.82.98.85 1.28.02.24-.04.47-.46.75-.42.27-.86.41-1.34.41-.41 0-.86-.1-1.35-.29-1.7-.68-3.25-1.94-4.64-3.79a18.7 18.7 0 0 1-3.13-5.08c-.38-.79-.16-1.31.41-1.63.47-.27 1.12-.22 1.96.14a10.26 10.26 0 0 1 3.74 2.28c.36.35.68.52.96.52.21 0 .44-.07.69-.22.37-.22.65-.6.86-1.13.21-.53.34-1.14.34-1.57 0-.5-.15-.88-.45-1.12-.52-.42-1.44-.52-2.76-.3-1.71.28-3.62 1.03-5.72 2.24l-.86.49a6.72 6.72 0 0 1-1.02.51c-.37.14-.64.17-.81.09-.18-.1-.24-.29-.2-.58.04-.3.16-.56.36-.76z" fill="#5865F2"/></svg>Discord</span><span style="display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--cool);letter-spacing:.08em"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403-.008-.005h.008l.005-.002h-.005V19.5c0-.248.009-.498.005-.746l.003-.003c.009 0 .018.001.027.002h-.02l-.011.008-.004.024zm-.006-.225h-.003l-.008.003.003.011.003-.005a.018.018 0 0 1 .005-.009zm-.004.17h.003l-.005-.002.002.001v.001zm.02-.003.003.003-.002-.002-.001-.001zM12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0z" fill="#25D366"/></svg>WhatsApp</span><span style="display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--cool);letter-spacing:.08em"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.64 15.52c-.38-.66-.6-1.41-.6-2.2 0-2.63 2.14-4.77 4.77-4.77 1.27 0 2.47.5 3.37 1.4.9.9 1.4 2.1 1.4 3.37 0 2.63-2.14 4.77-4.77 4.77-.79 0-1.54-.22-2.2-.6L7.5 18l.14-2.48z" fill="#3B82F6"/></svg>Signal</span><span style="display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:10px;color:var(--cool);letter-spacing:.08em"><svg width="14" height="14" viewBox="0 0 24 24" fill="none"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5" stroke="#7C4DFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>Buzz</span></div>
|
|
1540
1552
|
<div class="venues rv">
|
|
1541
1553
|
<div class="venues-head"><span>models // harnesses</span><span><b>bring your own model</b> · oracle is the control plane</span></div>
|
|
1542
1554
|
<div class="marquee"><div class="track" id="llm-track"></div></div>
|
|
@@ -1627,7 +1639,9 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1627
1639
|
<figure class="route-proof rv" style="margin-top:18px">
|
|
1628
1640
|
<svg viewBox="0 0 868 456" preserveAspectRatio="xMidYMid meet" class="route-tree" aria-label="Oracle routing tree">
|
|
1629
1641
|
<style>
|
|
1630
|
-
.route-tree
|
|
1642
|
+
.route-tree text { fill:#f4f8fc; font-size:15px; font-weight:600; letter-spacing:.02em; paint-order:stroke; stroke:#080d15; stroke-width:2px; stroke-linejoin:round; }
|
|
1643
|
+
.route-tree rect { fill:#111d2b; stroke:rgba(124,196,255,.72); }
|
|
1644
|
+
.route-tree line { stroke:#8bd2ff; stroke-dasharray:20 8; animation:flow-down 3s linear infinite; opacity:.92; }
|
|
1631
1645
|
@keyframes flow-down { to { stroke-dashoffset: -56; } }
|
|
1632
1646
|
</style>
|
|
1633
1647
|
<defs>
|
|
@@ -1724,12 +1738,16 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1724
1738
|
<h4>Custom alerts + shadow trading</h4>
|
|
1725
1739
|
<p>Follow favorite chains, wallets, funds and deployer addresses, then get notified when one opens, rotates or exits. Run the playbook in shadow mode against live prices before you arm it for live execution.</p>
|
|
1726
1740
|
</article>
|
|
1741
|
+
<article class="strategy-card">
|
|
1742
|
+
<div class="mode">shadow · simulate · execute</div>
|
|
1743
|
+
<h4>Paper-trade until you go live</h4>
|
|
1744
|
+
<p>Simulate every strategy against live venue data without committing capital. Track P&L, slippage, and fill quality in shadow mode — then arm it with one flag when you're ready. No gas, no exposure, no regret trades.</p>
|
|
1745
|
+
</article>
|
|
1727
1746
|
|
|
1728
1747
|
</div>
|
|
1729
1748
|
<div class="strategy-posture"><b>Public posture:</b> research, simulation and unsigned preparation. MEV and flash-loan broadcast stays off; supported staking, LP, yield and farming actions require the user wallet to sign. Farm discovery reads live third-party yield data. Custom alerts and shadow loops notify or simulate first; live execution still requires arming and a user signature.</div>
|
|
1730
1749
|
|
|
1731
1750
|
</div>
|
|
1732
|
-
</div>
|
|
1733
1751
|
|
|
1734
1752
|
<section class="section" id="chains">
|
|
1735
1753
|
<p class="section-label rv">Chains</p>
|
|
@@ -1752,8 +1770,7 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1752
1770
|
<p class="section-label rv">Oracle CLI</p>
|
|
1753
1771
|
<h2 class="section-title rv">One surface. <em>Every chain.</em></h2>
|
|
1754
1772
|
<div class="cli-install rv">
|
|
1755
|
-
<div class="cli-install-cmd"><code>
|
|
1756
|
-
<p class="cli-install-gate"><b>Locals Only</b> holders get 0% Oracle integrator fees. Everyone gets the same public CLI, desktop, source, and prepare-only product access.</p>
|
|
1773
|
+
<div class="cli-install-cmd"><code>oracle</code> <span class="cli-install-hint">npm install -g @oracle-agent/oracle</span></div>
|
|
1757
1774
|
</div>
|
|
1758
1775
|
<p class="section-lede rv">The real Oracle shell, isolated from desktop chrome. No accounts, no servers. The CLI runs on your machine and reads straight from public RPCs.</p>
|
|
1759
1776
|
<p class="section-lede rv">Pin the active surface with <code style="color:var(--blue2)">/chain hyperliquid</code>, switch models, ask naturally. Oracle reads, prices, and prepares — you sign.</p>
|
|
@@ -1771,7 +1788,7 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1771
1788
|
<span>multichain routing</span>
|
|
1772
1789
|
<span>self-custody</span>
|
|
1773
1790
|
</div>
|
|
1774
|
-
<h2 class="section-title app-shot-title">Oracle Desktop App</h2>
|
|
1791
|
+
<h2 class="section-title app-shot-title">Oracle Desktop App <sup style="font-size:14px;color:var(--blue);font-weight:400">beta</sup></h2>
|
|
1775
1792
|
<figure class="app-shot">
|
|
1776
1793
|
<img src="assets/desktop-app.jpg" width="1736" height="959" loading="lazy" decoding="async" alt="Oracle desktop app showing the specialist mesh, with Portfolio, Approvals, Prepare, CLI, Farming Methods, Agent Connect, Receipts, Campaigns and Routes panes.">
|
|
1777
1794
|
<figcaption>Portfolio, approvals, prepare, farming, receipts and routes in one pane.</figcaption>
|
|
@@ -1781,19 +1798,34 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1781
1798
|
</div>
|
|
1782
1799
|
</section>
|
|
1783
1800
|
|
|
1784
|
-
<section class="section" id="
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
<div class="
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
</div>
|
|
1796
|
-
</
|
|
1801
|
+
<section class="section" id="fees">
|
|
1802
|
+
<p class="section-label rv">Fees</p>
|
|
1803
|
+
<h2 class="section-title rv">5 bps. <em>Holders zero.</em></h2>
|
|
1804
|
+
<p class="section-lede rv">Oracle charges 5 basis points (0.05%) on swaps it routes. Eligible Hyperliquid orders can separately include a 1–2 bps builder fee after wallet approval. Both are shown before you sign.</p>
|
|
1805
|
+
<div class="moat-grid rv" style="margin-top:28px">
|
|
1806
|
+
<article class="moat-card">
|
|
1807
|
+
<div class="n">swap fee</div>
|
|
1808
|
+
<h3>5 bps per routed swap</h3>
|
|
1809
|
+
<p>Calculated on the output amount, deducted from the route before the quote reaches you. Oracle never touches your input — it prices the net you receive after the fee.</p>
|
|
1810
|
+
</article>
|
|
1811
|
+
<article class="moat-card">
|
|
1812
|
+
<div class="n">locals only</div>
|
|
1813
|
+
<h3>0% for NFT holders</h3>
|
|
1814
|
+
<p>Hold a Locals Only NFT in the wallet Oracle reads and eligible routed swaps and Hyperliquid builder orders carry zero Oracle fees. No claim, dashboard, or manual toggle.</p>
|
|
1815
|
+
</article>
|
|
1816
|
+
<article class="moat-card">
|
|
1817
|
+
<div class="n">operator seat</div>
|
|
1818
|
+
<h3>Run your own instance</h3>
|
|
1819
|
+
<p>The public package is free to install. Every read, route, and prepare runs on your machine. The routing fee only applies when your agent uses Oracle's aggregation.</p>
|
|
1820
|
+
</article>
|
|
1821
|
+
<article class="moat-card">
|
|
1822
|
+
<div class="n">builder codes</div>
|
|
1823
|
+
<h3>Hyperliquid builder fees</h3>
|
|
1824
|
+
<p>Core perps use 2 bps. HIP-3 and HIP-4 use 1 bps. Spot is set to 1 bps but remains inactive until Oracle ships spot-order preparation. Your wallet approves a 2 bps maximum before Oracle can include any builder fee. This is separate from the 5 bps routed-swap fee.</p>
|
|
1825
|
+
</article>
|
|
1826
|
+
|
|
1827
|
+
</div>
|
|
1828
|
+
</section>
|
|
1797
1829
|
|
|
1798
1830
|
<div class="mega-oracle rv" aria-hidden="true">oracle</div>
|
|
1799
1831
|
<footer>
|
|
@@ -1813,16 +1845,38 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1813
1845
|
</div>
|
|
1814
1846
|
</footer>
|
|
1815
1847
|
|
|
1816
|
-
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script>
|
|
1817
|
-
<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js"></script>
|
|
1818
|
-
<script src="https://cdn.jsdelivr.net/npm/lenis@1.3.11/dist/lenis.min.js"></script>
|
|
1819
1848
|
<script>
|
|
1849
|
+
// Load optional animation libraries in background — page works without them
|
|
1850
|
+
(function loadExtras(){
|
|
1851
|
+
var s1 = document.createElement("script");
|
|
1852
|
+
s1.src = "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js";
|
|
1853
|
+
var s2 = document.createElement("script");
|
|
1854
|
+
s2.src = "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js";
|
|
1855
|
+
var s3 = document.createElement("script");
|
|
1856
|
+
s3.src = "https://cdn.jsdelivr.net/npm/lenis@1.3.11/dist/lenis.min.js";
|
|
1857
|
+
var loaded = 0;
|
|
1858
|
+
function onLoad(){
|
|
1859
|
+
loaded++;
|
|
1860
|
+
if (loaded === 3) {
|
|
1861
|
+
window.__oracleMotionReady = true;
|
|
1862
|
+
window.dispatchEvent(new Event("oracle:motion-ready"));
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
1865
|
+
s1.onload = onLoad; s1.onerror = function(){ loaded++; };
|
|
1866
|
+
s2.onload = onLoad; s2.onerror = function(){ loaded++; };
|
|
1867
|
+
s3.onload = onLoad; s3.onerror = function(){ loaded++; };
|
|
1868
|
+
document.head.appendChild(s1);
|
|
1869
|
+
document.head.appendChild(s2);
|
|
1870
|
+
document.head.appendChild(s3);
|
|
1871
|
+
})();
|
|
1872
|
+
|
|
1820
1873
|
(function () {
|
|
1821
1874
|
"use strict";
|
|
1822
1875
|
document.documentElement.classList.add("js");
|
|
1823
1876
|
|
|
1824
1877
|
var ICON = "https://icons.llamao.fi/icons/";
|
|
1825
1878
|
var CHAINS = [
|
|
1879
|
+
{ name: "Hyperliquid", id: "999", logo: "chains/rsz_hyperliquid", note: "hyperliquid agent", badge: "route" },
|
|
1826
1880
|
{ name: "Ethereum", id: "1", logo: "chains/rsz_ethereum", note: "evm / bridge agent", badge: "route" },
|
|
1827
1881
|
{ name: "Base", id: "8453", logo: "chains/rsz_base", note: "evm / bridge agent", badge: "route" },
|
|
1828
1882
|
{ name: "Arbitrum", id: "42161", logo: "chains/rsz_arbitrum", note: "evm / bridge agent", badge: "route" },
|
|
@@ -1831,7 +1885,6 @@ footer{margin-top:clamp(72px,12vh,120px);border-top:1px solid var(--line);paddin
|
|
|
1831
1885
|
{ name: "Avalanche", id: "43114", logo: "chains/rsz_avalanche", note: "evm / bridge agent", badge: "route" },
|
|
1832
1886
|
{ name: "Polygon", id: "137", logo: "chains/rsz_polygon", note: "evm / bridge agent", badge: "route" },
|
|
1833
1887
|
{ name: "Robinhood", id: "4663", logo: "chains/rsz_robinhood", note: "robinhood agent", badge: "route" },
|
|
1834
|
-
{ name: "Hyperliquid", id: "999", logo: "chains/rsz_hyperliquid", note: "hyperliquid agent", badge: "route" },
|
|
1835
1888
|
{ name: "Abstract", id: "2741", logo: "chains/rsz_abstract", note: "open / add agent", badge: "route" },
|
|
1836
1889
|
{ name: "Stable", id: "988", logo: "chains/rsz_stable", note: "stable agent", badge: "route" },
|
|
1837
1890
|
{ name: "Solana", id: "SOL", logo: "chains/rsz_solana", note: "solana agent", badge: "route" },
|
|
@@ -1874,9 +1927,14 @@ var BRAND = "brand/";
|
|
|
1874
1927
|
{ n: "Derive V2", img: "derive", cap: "read", u: "https://app.derive.xyz" },
|
|
1875
1928
|
{ n: "PancakeSwap AMM", img: "pancakeswap", cap: "read + quote", u: "https://pancakeswap.finance/" },
|
|
1876
1929
|
{ n: "Lista Lending", img: "lista", cap: "read + quote", u: "https://lista.org/lending" },
|
|
1930
|
+
{ n: "Silhouette", cap: "read", u: "https://silhouette.exchange/" },
|
|
1931
|
+
{ n: "Nest Exchange", cap: "read", u: "https://nestdex.org/" },
|
|
1877
1932
|
{ n: "Lista CDP", img: "lista", cap: "read", u: "https://lista.org/" },
|
|
1878
1933
|
{ n: "Benqi Lending", img: "benqi", cap: "read", u: "https://benqi.fi" },
|
|
1879
1934
|
{ n: "Pharaoh V3", img: "pharaoh", cap: "read + quote", u: "https://www.phar.gg/" },
|
|
1935
|
+
{ n: "Trade XYZ", cap: "read", u: "https://trade.xyz/" },
|
|
1936
|
+
{ n: "Markets by Kinetiq", cap: "read", u: "https://markets.xyz/" },
|
|
1937
|
+
{ n: "Outcome", cap: "read", u: "https://outcome.xyz/" },
|
|
1880
1938
|
{ n: "Polymarket", wm: "polymarket.png", cap: "read", u: "https://polymarket.com/" },
|
|
1881
1939
|
{ n: "XSY", img: "xsy", cap: "read", u: "https://xsy.fi" },
|
|
1882
1940
|
{ n: "Balancer V2", wm: "balancer.svg", cap: "read + quote", u: "https://balancer.fi/" },
|
|
@@ -1902,7 +1960,9 @@ var BRAND = "brand/";
|
|
|
1902
1960
|
{ n: "Relay", wm: "relay.svg", cap: "route source", u: "https://relay.link/" },
|
|
1903
1961
|
{ n: "Odos", wm: "odos.svg", cap: "read + route source", u: "https://app.odos.xyz" },
|
|
1904
1962
|
{ n: "Jupiter", wm: "jupiter.svg", cap: "solana route source", u: "https://jup.ag/" },
|
|
1905
|
-
{ n: "Stargate", wm: "stargate.svg", cap: "read + bridge route", u: "https://stargate.finance/" }
|
|
1963
|
+
{ n: "Stargate", wm: "stargate.svg", cap: "read + bridge route", u: "https://stargate.finance/" },
|
|
1964
|
+
{ n: "Motion", cap: "read", u: "https://opensea.io/token/hyperevm/0xb94bbecf4050383a9f1ecd71ac8114ac930d2446" },
|
|
1965
|
+
{ n: "LiquidLaunch", cap: "read", u: "https://liquidlaunch.app/" },
|
|
1906
1966
|
];
|
|
1907
1967
|
var PROTOS_B = [
|
|
1908
1968
|
{ n: "Uniswap V3 LP", img: "uniswap", cap: "preview + mint/collect prepare", u: "https://app.uniswap.org/" },
|
|
@@ -1998,6 +2058,11 @@ var PROTOS_B = [
|
|
|
1998
2058
|
function protocolName(name) {
|
|
1999
2059
|
var label = name.replace(/\s+(?:DEX\s+)?V\d+(?:\s+LP)?\b/gi, "").trim();
|
|
2000
2060
|
var aliases = [
|
|
2061
|
+
[/^Outcome\b/i, "Outcome"],
|
|
2062
|
+
[/^Markets by Kinetiq\b/i, "Markets by Kinetiq"],
|
|
2063
|
+
[/^Trade XYZ\b/i, "Trade XYZ"],
|
|
2064
|
+
[/^Nest Exchange\b/i, "Nest Exchange"],
|
|
2065
|
+
[/^Silhouette\b/i, "Silhouette"],
|
|
2001
2066
|
[/^Aerodrome\b/i, "Aerodrome"],
|
|
2002
2067
|
[/^Pancake(?:Swap)?\b/i, "PancakeSwap"],
|
|
2003
2068
|
[/^LFJ\b/i, "LFJ"],
|
|
@@ -2023,6 +2088,9 @@ var PROTOS_B = [
|
|
|
2023
2088
|
[/^Sky\b/i, "Sky"],
|
|
2024
2089
|
[/^Binance\b/i, "Binance"],
|
|
2025
2090
|
[/^Avant\b/i, "Avant"],
|
|
2091
|
+
[/^Motion\b/i, "Motion"],
|
|
2092
|
+
[/^LiquidLaunch\b/i, "LiquidLaunch"],
|
|
2093
|
+
[/^Felix\b/i, "Felix"],
|
|
2026
2094
|
[/^Aster\b/i, "Aster"],
|
|
2027
2095
|
[/^Lighter\b/i, "Lighter"],
|
|
2028
2096
|
[/^stHYPE \+ wstHYPE$/i, "Valantis"]
|
|
@@ -2142,10 +2210,19 @@ renderProtocolAtlas();
|
|
|
2142
2210
|
marqueeResizeTimer = setTimeout(syncMarqueeVelocity, 120);
|
|
2143
2211
|
});
|
|
2144
2212
|
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
});
|
|
2213
|
+
// Dismiss loader on DOM ready — doesn't wait for external scripts
|
|
2214
|
+
if (document.readyState === "loading") {
|
|
2215
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
2216
|
+
setTimeout(function () { document.getElementById("loader").classList.add("out"); }, 650);
|
|
2217
|
+
});
|
|
2218
|
+
} else {
|
|
2219
|
+
setTimeout(function () { document.getElementById("loader").classList.add("out"); }, 50);
|
|
2220
|
+
}
|
|
2221
|
+
// Belt-and-suspenders: if all else fails, dismiss after 4s
|
|
2222
|
+
setTimeout(function () {
|
|
2223
|
+
var l = document.getElementById("loader");
|
|
2224
|
+
if (l && !l.classList.contains("out")) l.classList.add("out");
|
|
2225
|
+
}, 4000);
|
|
2149
2226
|
|
|
2150
2227
|
var reduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
2151
2228
|
var coarse = window.matchMedia("(pointer: coarse)").matches;
|
|
@@ -2262,7 +2339,9 @@ var activeLenis = null;
|
|
|
2262
2339
|
}
|
|
2263
2340
|
document.documentElement.classList.add("premium-motion");
|
|
2264
2341
|
}
|
|
2265
|
-
initPremiumMotion
|
|
2342
|
+
window.addEventListener("oracle:motion-ready", initPremiumMotion);
|
|
2343
|
+
if (window.__oracleMotionReady) initPremiumMotion();
|
|
2344
|
+
|
|
2266
2345
|
|
|
2267
2346
|
function scrollToHash(hash) {
|
|
2268
2347
|
var target = document.getElementById(hash.slice(1));
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Contributing to Oracle
|
|
2
|
-
|
|
3
|
-
Thanks for looking. Oracle is a control plane for money movement, so the review
|
|
4
|
-
bar is about safety and honesty more than style.
|
|
5
|
-
|
|
6
|
-
## Before you start
|
|
7
|
-
|
|
8
|
-
Run the suite:
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
npm install
|
|
12
|
-
npm test
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
`test-baseline.json` records the current suite count and `npm run test:count`
|
|
16
|
-
prevents silent test loss. A failure on a clean checkout is a bug; report it
|
|
17
|
-
with the exact command output.
|
|
18
|
-
|
|
19
|
-
## The one rule that matters
|
|
20
|
-
|
|
21
|
-
**The public plane may never reach a private key or a house signer.**
|
|
22
|
-
|
|
23
|
-
Oracle ships the data plane, the policy plane, and the control plane. It does not
|
|
24
|
-
ship the executor. A PR that imports signer or keystore code into public modules
|
|
25
|
-
will fail `test/custody-boundary.test.mjs`, and the fix is not to edit the
|
|
26
|
-
forbidden list.
|
|
27
|
-
|
|
28
|
-
If your feature seems to need a key, restructure it: build an unsigned
|
|
29
|
-
transaction or a typed-data intent and hand it back to the caller to sign.
|
|
30
|
-
|
|
31
|
-
## What we want
|
|
32
|
-
|
|
33
|
-
- **Real bugs, fixed at the class level.** Reproduce it, point at the line, fix
|
|
34
|
-
every sibling call path — not just the one that was reported.
|
|
35
|
-
- **New chains and providers.** This is the most useful contribution. See below.
|
|
36
|
-
- **Honest capability tiers.** If a provider can only quote, mark it
|
|
37
|
-
`quote-only`. Do not mark it `prepare` because a prepare function exists but
|
|
38
|
-
was never validated against a live route.
|
|
39
|
-
- **Tests that assert invariants**, not snapshots. `assert` that a minimum output
|
|
40
|
-
is enforced; don't freeze today's provider list into an equality check.
|
|
41
|
-
- **Guards recomputed before signing.** A quote-time check that isn't re-verified
|
|
42
|
-
at broadcast is decoration.
|
|
43
|
-
|
|
44
|
-
## What gets rejected
|
|
45
|
-
|
|
46
|
-
- A signer, private key, or house-custody path in the public tree.
|
|
47
|
-
- A destination allowlist that defaults to permissive, or an empty allowlist read
|
|
48
|
-
as "allow all."
|
|
49
|
-
- Slippage widened past the 100 bps cap to make a trade go through. Block,
|
|
50
|
-
requote, or split instead.
|
|
51
|
-
- A claim of execution support with no live prepare/simulate evidence.
|
|
52
|
-
- Secrets in code, tests, fixtures, or docs — including a real wallet address as
|
|
53
|
-
a default `from` for quotes. Use `src/data/quote-placeholder.mjs`.
|
|
54
|
-
- "It worked when I ran it" with no test.
|
|
55
|
-
|
|
56
|
-
## Adding a provider
|
|
57
|
-
|
|
58
|
-
1. Create `src/data/providers/<name>.mjs`.
|
|
59
|
-
2. Export a `health()` plus the ops you actually implement.
|
|
60
|
-
3. Register it in `src/data/catalog.mjs` with truthful `chainIds`, `auth`, `ops`,
|
|
61
|
-
and `execution` tier.
|
|
62
|
-
4. Add a test with a mocked transport. Do not require a live network for CI.
|
|
63
|
-
5. If it needs a key, the health check must report
|
|
64
|
-
`{ ok: false, configured: false }` rather than throwing.
|
|
65
|
-
|
|
66
|
-
## Adding a chain
|
|
67
|
-
|
|
68
|
-
1. Add an entry to `CHAINS` in `src/chains.mjs` with its `rpcEnv` names.
|
|
69
|
-
2. Verify every router/venue address on-chain (`eth_getCode` must return real
|
|
70
|
-
bytecode) before adding it to `src/venues.mjs`.
|
|
71
|
-
3. Comment each venue addition with how you verified it and when.
|
|
72
|
-
4. An unverified chain stays fail-closed. That is a safe state, not a gap.
|
|
73
|
-
|
|
74
|
-
Never allowlist a router you found only in a blog post or a model's answer. The
|
|
75
|
-
destination allowlist is the highest-leverage control in the system.
|
|
76
|
-
|
|
77
|
-
## Commits and PRs
|
|
78
|
-
|
|
79
|
-
Conventional prefixes: `fix:`, `feat:`, `refactor:`, `docs:`, `test:`, `chore:`.
|
|
80
|
-
|
|
81
|
-
In the PR body, state:
|
|
82
|
-
|
|
83
|
-
- what broke or what's new
|
|
84
|
-
- how you verified it (paste the real command output)
|
|
85
|
-
- whether anything touches the custody boundary
|
|
86
|
-
|
|
87
|
-
Small, reviewable PRs get merged. A 3000-line PR mixing a refactor with a policy
|
|
88
|
-
change will sit.
|
|
89
|
-
|
|
90
|
-
## Style
|
|
91
|
-
|
|
92
|
-
- ES modules, Node 20+, no build step.
|
|
93
|
-
- No new runtime dependency without a reason in the PR description.
|
|
94
|
-
- Comments explain *why*, not *what*. If a line encodes a hard-won fact — a
|
|
95
|
-
provider's unit quirk, a revert cause — say so, and say how it was learned.
|
|
96
|
-
|
|
97
|
-
## License
|
|
98
|
-
|
|
99
|
-
Contributions are accepted under the repository's then-current outbound license in [LICENSE](LICENSE). Current source is BUSL-1.1; npm releases `0.1.0` through `0.11.0` remain Apache-2.0.
|