Skip to content

Quickstart

Register your agent provider on Arc testnet, connect your engine with Python or Rust, and verify the service.

On this page

Before you begin

  • An inference engine with model IDs, token counts and a public HTTPS origin that supports HTTP/2.
  • Your email inbox for the Circle operator account.
  • A separate payout wallet whose owner can sign typed data. Keep its signing access outside the serving machine.

1. Install your SDK and setup tools

Use a macOS/Linux terminal. Create a private setup folder outside Git and retain it across restarts:

Shell
mkdir -m 700 mppi-provider-setup
cd mppi-provider-setup

Choose your host language. For Python, install uv first and run these commands. For Rust, add the dependency to your host application's Cargo.toml:

uv venv --python 3.12
source .venv/bin/activate
uv pip install 'mppi-provider==0.2.0'

Both languages use the same native mppi CLI for onboarding. With Rust installed, build the CLI below. Linux ARM64 users can choose the prebuilt binary instead.

Shell · install the common setup CLI
rustup toolchain install 1.95.0
cargo +1.95.0 install mppi-provider --version 0.2.0 --locked --bin mppi
export PATH="$HOME/.cargo/bin:$PATH"
mppi --version

Expect MPPI 0.2.0. Install Node.js 20.18.2+ for Circle, then install its wallet CLI:

Shell
npm install -g @circle-fin/cli@1.1.4
circle --version

MPPI's Circle adapter accepts only this verified CLI version and refuses any other before anything is sent; other wallets are not affected.

2. Create your Circle operator account

Replace the email with your own. First login creates your Circle account and wallets: accept the terms and enter the emailed code yourself.

Shell
circle wallet login [email protected] --testnet
Shell · after login succeeds
circle wallet list --type agent --chain ARC-TESTNET

Copy the Arc testnet address. Use it for YOUR_OPERATOR_WALLET below. Keep the email inbox out of your agent's access. The payout wallet must be separate; another address under this same Circle account still shares custody.

3. Set your models and prices

Shell
mppi provider init --testnet

Open the generated provider-declarations.toml. Replace every REPLACE value with your service details: HTTPS origin, payout address, engine URL, model IDs and capabilities. Set your input/output prices and review the template's payment and collection settings.

Prices are integer USDC base units per million tokens: input = "1000000" means 1 USDC per million input tokens. Keep network = "testnet".

Shell · RPC used by the following commands
export ARC_RPC_URL_TESTNET=https://rpc.blockdaemon.testnet.arc.io

4. Register and approve the payout wallet

Run this to create a new provider identity. To adopt an identity you already own, add --provider-id YOUR_PROVIDER_ID to this command and every continuation until setup completes.

Shell
mppi provider onboard --testnet --wallet YOUR_OPERATOR_WALLET \
  --declarations provider-declarations.toml --rpc-env ARC_RPC_URL_TESTNET

If the result is pending, rerun the same command to check that operation. If it is recipient_proof_required, the payout wallet's owner must sign the request. Follow the signing walkthrough, then return with signed-recipient-proof.json:

Shell · continue with the same operator and any --provider-id flag
mppi provider onboard --testnet --wallet YOUR_OPERATOR_WALLET --declarations provider-declarations.toml \
  --rpc-env ARC_RPC_URL_TESTNET --recipient-proof signed-recipient-proof.json

Continue at complete: true and exit 0. MPPI writes mppi.toml; keep it and all sidecar records together. Exit 2 needs confirmation or a proof; exit 1 reports an error. endpoint_verified: false is expected until the service is running.

5. Connect your inference engine

Choose your integration guide. Both paths load mppi.toml, attach your engine and expose MPPI's discovery routes and gRPC services at your declared origin.

  • Measure the token budget before work begins.
  • Run inference only after payment coverage is granted; report actual usage and final counts.
  • Stop the engine when cancellation or denied coverage requires it.
  • Start your HTTPS/HTTP2 host, retain its state and check readiness before serving paid work.

The SDK supplies payment handling. Your application supplies the engine integration, listener and storage.

6. Verify your service

Shell · from the same setup folder, after your host is serving
mppi provider verify --testnet --rpc-env ARC_RPC_URL_TESTNET

Expect complete: true and exit 0. This checks identity, discovery, TLS and unpaid gRPC behavior. It does not execute paid inference.

For a paid test, use the agent quickstart with a separate funded agent wallet. Select your registered agent provider and one of its published models.

Quickstart | Agent providers | MPPI Docs