Agent-first
Solana SDK

Try it now

You bring the agent, we handle the rest.

Arete flow:

01 PROMPT / INTENT

Describe what you want to build.

"Real-time ore rounds,
mining grid and motherlode."
02 BACKEND DEPLOYED

We deploy your backend.

ORE stream wss://ore.stack.arete.run
03 SDK GENERATION

Receive a tailored SDK using our a4 cli.

a4 sdk create
?

Cargo is the preferred path. If you do not have Cargo, use npm or npx instead.

  • Cargo

    Preferred if you already have Rust installed.

    cargo install a4-clia4 sdk create typescript ore
  • npm

    Fallback if Cargo is not available.

    npm install -g @usearete/a4a4 sdk create rust ore
  • npx

    Run it directly without installing first.

    npx @usearete/a4 sdk create typescript my-stack
04 BUILD PRODUCT

Tooling to help your agent:

  • Skills + MCP
  • IDL Search / Upload
  • Program understanding
ORE DASHBOARD
Sample data
Time remaining
00:00
Total deployed
0.00 SOL
Motherlode
0.00 ORE

Live Mining Grid

Real-time square distribution

0 miners
0 deploys
Round #0
010
0.00
020
0.00
030
0.00
040
0.00
050
0.00
060
0.00
070
0.00
080
0.00
090
0.00
100
0.00
110
0.00
120
0.00
130
0.00
140
0.00
150
0.00
160
0.00
170
0.00
180
0.00
190
0.00
200
0.00
210
0.00
220
0.00
230
0.00
240
0.00
250
0.00
Data Stream payload

Raw schema-validated JSON payload streaming via WebSocket.

{
  "id": {
    "round_id": 0,
    "round_address": ""
  },
  "state": {
    "motherlode": 0,
    "total_deployed": 0,
    "total_miners": 0,
    "expires_at": 0,
    "estimated_expires_at_unix": 0,
    "deployed_per_square_ui": [
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0
    ],
    "count_per_square": [
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0,
      0, 0, 0, 0, 0
    ]
  },
  "metrics": {
    "deploy_count": 0,
    "checkpoint_count": 0
  },
  "results": {
    "did_hit_motherlode": false,
    "pre_reveal_winning_square": null,
    "winning_square": null,
    "top_miner": "11111111111111111111111111111111",
    "top_miner_reward": 0
  }
}
Section 02 / The cost of rediscovery

Agents waste expensive context reaching the starting line.

Before an agent can build the product, it has to find the missing context, understand the program, write retrieval code, transform the data, and maintain the boilerplate. All of that work happens inside the same context window the product logic has to share.

Verdict 01 What it is not

That is product logic.

Verdict 02 What it is

That is context bloat.

Fig. 03.A / Context budget, one agent turn Window / 64k tokens / sampled over 120 runs
Reaching the start Pre-product / 72%
Retrieval code
Missing context
Data transforms
Product logic / 28%
0% 25% 50% 75% 100%
46.1k tokens burned
Retrieval code fetch / decode 22% / 14.1k
Missing context IDLs / PDAs / seeds 20% / 12.8k
Data transforms layout -> model 17% / 10.9k
Boilerplate glue / wiring 13% / 8.3k
Pre-product work What you actually pay for
Ratio / 2.6 : 1 against you

Every token spent rediscovering program context is a token not spent building the app.

Section 03 / The ridge

The ridge between onchain programs and agent-built apps

An RPC hands your agent raw bytes: account binaries, instruction args, no idea what program they belong to. Your agent still has to know every IDL, every PDA derivation, every cross-program quirk before it can answer a real question.

Arete knows the programs: Raydium, Kamino, Pump.fun, Meteora, and the rest. Ask for a task that spans several of them; we build the infra on our side and hand back a disposable, task-shaped SDK.

01 / Raw chain RPC

Bytes, not answers

Any RPC can hand you the raw account binary and instruction args. None of them know what Raydium or Kamino means.

  • --
    getAccountInfo 0x04 a9 f7 2c 1e b8 ... (base64, 5,248 bytes)
    binary
  • --
    getTransaction instructions[3].data = "bG9nc19hcmVfb24"
    raw
  • --
    getProgramAccounts filter by offset / memcmp / you decode
    manual
  • --
    Layouts bring your own IDL, your own borsh schema
    BYO
  • --
    Cross-program joins not available
    n/a
Program-unaware Agent decodes ->
02 / The ridge Arete

Program-aware context

We carry the context a human developer used to carry, for major Solana programs and the relationships between them.

Programs covered 12+
Raydium AMM
Meteora AMM
Orca AMM
Jupiter Agg
Pump.fun Launch
Moonshot Launch
Kamino Lend
MarginFi Lend
Drift Perps
Tensor NFT
Magic Eden NFT
Metaplex Mint
  • Program-aware account decoders
  • Cross-program joins and filters
  • Task-shaped, disposable SDK surfaces
Infra / off-stack Spec shipped ->
03 / Agent side SDK / typed

Ask in plain tasks

Real questions an agent actually wants to answer, spanning multiple programs. Arete ships back a disposable SDK shaped exactly to it.

  • Spec 01
    RaydiumMeteora

    Track wallets that swap on both Raydium and Meteora in the same transaction.

    sdk.streams.crossVenueSwaps() stream / 14 keys
  • Spec 02
    Pump.funMoonshotRaydium

    Show me all new tokens from every major launchpad, with first-hour volume.

    sdk.launches.list({ window: "1h" }) read / 9 keys
  • Spec 03
    KaminoJupiter

    Supply USDC on Kamino, then auto-swap harvested rewards on Jupiter.

    sdk.strategies.compound({ asset: "USDC" }) write / 11 keys
Section 04 / The category

Human SDKs are generic.
Agent-first SDKs are shaped to the task.

Traditional SDKs have to be broad enough for every developer and every use case. That creates a large surface area the developer has to learn and navigate.

Agents change the design space. An agent can describe what it is trying to build. Arete can generate the SDK surface it needs for that specific task, backed by the program context and data logic the agent should not have to manage.

01 / Human-first SDK Status quo

Generic / broad

Designed for every developer. Which means designed for no particular task.

  • 01
    One generic package

    A single SDK distribution shipped to every developer and every use case.

  • 02
    Large surface area

    Hundreds of methods and types, most unused by any one product.

  • 03
    Developer finds the right path

    The human reads docs, discards what they do not need, and stitches the rest.

  • 04
    Implementation details leak

    Decoders, retries, transforms, and caches land in the app codebase.

Surface area Wide
02 / Agent-first SDK Arete

Shaped / to intent

Generated per task. The agent declares what it is building; Arete ships back the smallest interface that answers it.

  • 01
    Task-shaped interface

    A bespoke SDK generated for exactly the task the agent described.

  • 02
    Small surface area

    Only the types, methods, and schemas the task actually needs.

  • 03
    Agent declares intent

    The agent says what it is building and Arete derives the right surface.

  • 04
    Arete owns the data layer

    Program context, decoders, joins, and retention stay off the agent stack.

Surface area Minimal
Section 05 / The mechanism

How Arete works.

Ingest
Shape
Run
Emit
Ingest

01

Capture program context

Arete understands the accounts, instructions, relationships, and data shapes the agent would otherwise have to discover.

Input / onchain programs
Shape

02

Generate the right SDK surface

The agent describes its intent. Arete gives it a small, typed interface shaped to the task.

Input / task spec
Run

03

Own the data implementation

Arete handles retrieval, transformation, and updates behind the interface.

Hidden / off-agent
Emit

04

Let the agent build the app

The agent uses its context on product logic, decisions, and user experience.

Output / product
Section 06 / What you get

Less context bloat. Less maintenance. Better agent output.

Benefit 01
Cost down

Lower model spend

Agents spend less context rediscovering program details and writing boilerplate.

Metric / tokens per task
Benefit 02
Time down

Faster builds

Start from a task-shaped SDK instead of a blank integration layer.

Metric / time to first call
Benefit 03
Errors down

Fewer silent mistakes

The agent does not own the implementation details of the data layer.

Scope / off-agent
Benefit 04
Stable

Less maintenance

When program details change, the interface can stay stable while Arete updates the underlying logic.

Boundary / interface
Benefit 05
Product focus

Cleaner app logic

The app code focuses on what the product does, not how Solana data is stitched together.

Focus / product
Net effect Summary

What moves, and in which direction.

Context per taskDown
Time to shipDown
Silent errorsDown
Owner of data layerArete
Agent focusProduct
Aggregate
Section 07 / Who builds on Arete

For Solana products built by agents.

Markets

Trading systems

Drive execution logic with pool state, liquidity, prices, and fills.

Surface / execution
Messaging

Telegram bots

Push wallet, token, and program updates into chat-native workflows.

Surface / chat
Product

App UIs

Power portfolio views, alerts, and transaction flows with live Solana context.

Surface / frontend
DeFi

Aggregated DeFi dashboards

Combine positions, yields, flows, and protocol exposure across the stack.

Surface / analytics
Protocol

Protocol copilots

Give users and internal teams a typed interface to protocol state and actions.

Surface / protocol
Wallets

Portfolio agents

Track balances, positions, swaps, and wallet changes for autonomous workflows.

Surface / holdings
Section 08 / Sign-off

Give your agents the SDK they actually need.

Stop making agents rediscover Solana program context every time they build. Start from a task-shaped interface built for agent-native development.

Read the docs, then step straight into the beta.

Read the docs