Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added a Prism Network action provider for renting real NVIDIA GPUs onchain: `wallet`, `list_gpus`, `lease_and_run`, `run`, and `end_lease`. The provider carries its own funded wallet and settles in USDG, so it composes with any AgentKit wallet provider.
2 changes: 2 additions & 0 deletions python/coinbase-agentkit/coinbase_agentkit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
morpho_action_provider,
nillion_action_provider,
onramp_action_provider,
prism_action_provider,
pyth_action_provider,
ssh_action_provider,
superfluid_action_provider,
Expand Down Expand Up @@ -71,6 +72,7 @@
"morpho_action_provider",
"nillion_action_provider",
"onramp_action_provider",
"prism_action_provider",
"pyth_action_provider",
"ssh_action_provider",
"superfluid_action_provider",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from .morpho.morpho_action_provider import MorphoActionProvider, morpho_action_provider
from .nillion.nillion_action_provider import NillionActionProvider, nillion_action_provider
from .onramp.onramp_action_provider import OnrampActionProvider, onramp_action_provider
from .prism.prism_action_provider import PrismActionProvider, prism_action_provider
from .pyth.pyth_action_provider import PythActionProvider, pyth_action_provider
from .ssh.ssh_action_provider import SshActionProvider, ssh_action_provider
from .superfluid.superfluid_action_provider import (
Expand Down Expand Up @@ -54,6 +55,7 @@
"MorphoActionProvider",
"NillionActionProvider",
"OnrampActionProvider",
"PrismActionProvider",
"PythActionProvider",
"SshActionProvider",
"SuperfluidActionProvider",
Expand All @@ -75,6 +77,7 @@
"morpho_action_provider",
"nillion_action_provider",
"onramp_action_provider",
"prism_action_provider",
"pyth_action_provider",
"ssh_action_provider",
"superfluid_action_provider",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Prism Action Provider

This directory contains the `PrismActionProvider` class, which provides actions for renting real NVIDIA GPUs through [Prism Network](https://prismnetwork.tech).

The provider carries its own funded wallet (`PRISM_AGENT_KEY`) and settles onchain in USDG, so it composes with any AgentKit wallet provider rather than spending the agent's primary wallet.

## Actions

- `wallet`: The Prism agent wallet address and its USDG and native balances.
- `list_gpus`: GPUs available to rent right now, with model, VRAM, and price per hour.
- `lease_and_run`: Rent a GPU, run a command, and return the output. Pays onchain in USDG up to `max_usdg`.
- `run`: Run another command on a GPU already leased in this session.
- `end_lease`: Release a leased GPU session.

## Environment

- `PRISM_AGENT_KEY` (required): the agent wallet private key, funded with USDG and native gas on Robinhood Chain.
- `PRISM_ESCROW` (optional): the lease-escrow contract address. Defaults to the canonical escrow.

## Setup

```python
from coinbase_agentkit import AgentKit, AgentKitConfig
from coinbase_agentkit.action_providers.prism import prism_action_provider

agent_kit = AgentKit(
AgentKitConfig(
wallet_provider=wallet_provider,
action_providers=[prism_action_provider()],
)
)
```

## Notes

- `lease_and_run` blocks while the machine provisions, usually one to four minutes. Give the agent a long tool-call timeout.
- Leasing spends real USDG onchain, capped by `max_usdg`.

For more information on the **Prism Network**, visit [prismnetwork.tech](https://prismnetwork.tech).
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Prism Network action provider for renting NVIDIA GPUs."""

from .prism_action_provider import PrismActionProvider, prism_action_provider

__all__ = ["PrismActionProvider", "prism_action_provider"]
Loading
Loading