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:
mkdir -m 700 mppi-provider-setup
cd mppi-provider-setupChoose 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.
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 --versionExpect MPPI 0.2.0. Install Node.js 20.18.2+ for Circle, then install its wallet CLI:
npm install -g @circle-fin/cli@1.1.4
circle --versionMPPI'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.
circle wallet login [email protected] --testnetcircle wallet list --type agent --chain ARC-TESTNETCopy 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
mppi provider init --testnetOpen 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".
export ARC_RPC_URL_TESTNET=https://rpc.blockdaemon.testnet.arc.io4. 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.
mppi provider onboard --testnet --wallet YOUR_OPERATOR_WALLET \
--declarations provider-declarations.toml --rpc-env ARC_RPC_URL_TESTNETIf 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:
mppi provider onboard --testnet --wallet YOUR_OPERATOR_WALLET --declarations provider-declarations.toml \
--rpc-env ARC_RPC_URL_TESTNET --recipient-proof signed-recipient-proof.jsonContinue 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
mppi provider verify --testnet --rpc-env ARC_RPC_URL_TESTNETExpect 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.