Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.
MPP (Machine Payments Protocol) is an open protocol for pay-per-request HTTP access. Instead of an API key, you pay a small amount of USDC on Tempo for each request. This model is ideal for AI agents that need onchain data without managing subscriptions or key rotation.This is an alternative authorization method for the same Zerion API. Endpoints, JSON:API responses, query parameters, and filters all behave exactly as in the rest of the docs. Only the way you prove access changes.Zerion also supports x402, a sibling protocol that settles on Base or Solana. See Authentication for an overview of all access methods.
Quickstart with the Zerion CLI
The easiest way to use MPP is with the Zerion CLI, which handles the payment handshake, wallet signing, and retries automatically.Set an EVM private key for a wallet that holds USDC on Tempo, then make a request with --mpp:
Set ZERION_MPP=true to enable MPP globally for analytics commands instead of passing --mpp on every call. If you already use WALLET_PRIVATE_KEY for x402, the same key works for MPP - or set TEMPO_PRIVATE_KEY to use a different wallet for Tempo.
Direct integration
If you’re not using the CLI, use one of the official MPP SDKs (TypeScript, Python, Go, Rust) to handle payment construction and retries. You’ll need a wallet with USDC on Tempo and its EVM private key.
Example
import { privateKeyToAccount } from 'viem/accounts'import { Mppx, tempo } from 'mppx/client'Mppx.create({ methods: [tempo({ account: privateKeyToAccount(process.env.WALLET_PRIVATE_KEY) })],})// Global fetch now handles 402 automaticallyconst res = await fetch( 'https://api.zerion.io/v1/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/portfolio')const data = await res.json()
How it works
The card at the top of this page plays this exchange:
Client sends a request to an API endpoint
Server returns 402 with a WWW-Authenticate: Payment challenge describing where and how much to pay
Client signs a USDC transfer on Tempo and retries with an Authorization: Payment header
Zerion verifies the credential with the MPP facilitator and returns the response
Rate limits
None. You pay per request, with no per-second or monthly quota.
Error handling
402 Payment required - no or invalid payment credential. Inspect the WWW-Authenticate: Payment response header for a fresh challenge and retry.
402 MPP payment rejected - the facilitator rejected the credential. The detail field contains the reason (e.g. insufficient funds, expired authorization).
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Zerion API","description":"Zerion is an Ethereum and Solana wallet and developer platform focused on making blockchain data easy to use.","colors":{"primary":"#2461ED","light":"#2461ED","dark":"#2461ED"},"logo":{"light":"https://mintcdn.com/zerion-f99485ad/7LRY3a3Ldx_ROK8O/logo/light.svg?fit=max\u0026auto=format\u0026n=7LRY3a3Ldx_ROK8O\u0026q=85\u0026s=f451fe390bc92095f03123a8f7d40a7d","dark":"https://mintcdn.com/zerion-f99485ad/7LRY3a3Ldx_ROK8O/logo/dark.svg?fit=max\u0026auto=format\u0026n=7LRY3a3Ldx_ROK8O\u0026q=85\u0026s=4062b6f0d31d9101cb18ec6912f5260c"},"favicon":"https://mintcdn.com/zerion-f99485ad/CtpXHzWVHRggjdYr/images/favicon.png?fit=max\u0026auto=format\u0026n=CtpXHzWVHRggjdYr\u0026q=85\u0026s=ab9d008382caaa72b969c16793e48ba4","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript","go"],"prefill":true}},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.zerion.io"}},"footer":{"socials":{"x":"https://x.com/zerion","website":"https://zerion.io","linkedin":"https://www.linkedin.com/company/zeriontech"}},"fonts":{"heading":{"family":"Aeonik Pro","weight":700,"source":"fonts/AeonikPro-VF.woff2","format":"woff2"},"body":{"family":"Aeonik Pro","weight":400,"source":"fonts/AeonikPro-VF.woff2","format":"woff2"}},"integrations":{"ga4":{"measurementId":"G-KKSYM575R1"},"mixpanel":{"projectToken":"18a91a6fe2bdf70794ceb76c03433f19","region":"eu"},"posthog":{"apiKey":"phc_KpX0ph71XObDhlXXMKoAzXMtXYiNMMtDhuA8GvvudZI","apiHost":"https://eu.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zerion-f99485ad","hasAudioNarration":false,"actualSubdomain":"zerion-f99485ad","customDomains":["developers.zerion.io"],"gitSource":{"type":"github","owner":"zeriontech","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af73554e766df7985e6c739","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":40},{"language":"default","tag":"REST API","count":40},{"language":"default","tag":"Home","count":26},{"language":"default","tag":"subscriptions to transactions","count":13},{"language":"default","tag":"Get started","count":9},{"language":"default","tag":"Core concepts","count":9},{"language":"default","tag":"Recipes","count":9},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Migrating to Zerion API","count":8},{"language":"default","tag":"wallets","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/zerion-f99485ad/ac09b7d78b671ff7/global.css"},{"filePath":"api-reference.css","content":".method-pill,.method-nav-pill>span{--m: #16a34a;color:var(--m)!important;background:color-mix(in srgb, var(--m) 12%, transparent)!important}:is(.method-pill,.method-nav-pill>span):is([class*=\"blue\"]){--m: #2461ed}:is(.method-pill,.method-nav-pill>span):is([class*=\"orange\"],[class*=\"yellow\"],[class*=\"amber\"]){--m: #ea580c}:is(.method-pill,.method-nav-pill>span):is([class*=\"red\"]){--m: #ef4444}:is(.method-pill,.method-nav-pill>span):is([class*=\"purple\"],[class*=\"violet\"]){--m: #8b5cf6}.dark :is(.method-pill,.method-nav-pill>span){--m: #4ade80}.dark :is(.method-pill,.method-nav-pill>span):is([class*=\"blue\"]){--m: #6b9bff}.dark :is(.method-pill,.method-nav-pill>span):is([class*=\"orange\"],[class*=\"yellow\"],[class*=\"amber\"]){--m: #fb923c}.dark :is(.method-pill,.method-nav-pill>span):is([class*=\"red\"]){--m: #f87171}.method-nav-pill{width:2.5rem!important}.method-nav-pill>span{min-width:2.25rem;padding:0.125rem 0!important;text-align:center;font-size:0.5625rem!important;letter-spacing:0.04em;border-radius:0.375rem!important}#navigation-items button[aria-expanded]>div:first-child>span{display:inline-block}#navigation-items button[aria-expanded]>div:first-child>span::first-letter{text-transform:uppercase}.method-pill{padding:0.125rem 0.5rem!important;font-size:0.75rem!important;letter-spacing:0.04em}.method-pill+div [class*=\"2AB673\"]{color:#2461ed!important;background:rgba(36, 97, 237, 0.07)!important;border:1px dashed rgba(36, 97, 237, 0.35)!important;padding:0 0.3rem!important}.dark .method-pill+div [class*=\"2AB673\"]{color:#8fb3ff!important;background:rgba(107, 155, 255, 0.1)!important;border-color:rgba(107, 155, 255, 0.35)!important}.tryit-button{border-radius:0.75rem!important;box-shadow:0 1px 2px rgba(36, 97, 237, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);transition:background-color 0.15s ease, transform 0.15s ease}.tryit-button:hover{opacity:1!important;background:#1d4fd0!important}.tryit-button:active{transform:translateY(1px)}.api-section-heading-title{font-size:0.75rem!important;font-weight:600!important;text-transform:uppercase;letter-spacing:0.06em;color:#71717a!important}.dark .api-section-heading-title{color:#a1a1aa!important}.primitive-param-field>div,.expandable-content .primitive-param-field>div{padding-top:1.25rem!important;padding-bottom:1.25rem!important}[data-component-part=\"field-name\"]{color:#0a0a0a!important;font-weight:600!important}.dark [data-component-part=\"field-name\"]{color:#fff!important}[data-component-part=\"field-info-pill\"]{padding:0.0625rem 0.45rem!important;border-radius:0.375rem!important;color:#52525b!important;background:#f4f4f5!important;font-weight:500!important}.dark [data-component-part=\"field-info-pill\"]{color:#d4d4d8!important;background:rgba(255, 255, 255, 0.06)!important}[data-component-part=\"field-required-pill\"]{padding:0.0625rem 0!important;background:none!important;color:#ea580c!important;font-weight:600!important}.dark [data-component-part=\"field-required-pill\"]{color:#fb923c!important}[data-component-part=\"expandable-button\"]{border-radius:999px!important;transition:background-color 0.15s ease, border-color 0.15s ease}[data-component-part=\"expandable-button\"]:hover{border-color:rgba(36, 97, 237, 0.35)!important}[data-component-part=\"expandable-content\"]{border-radius:0.875rem!important}#content-side-layout [data-component-part=\"code-block-root\"],#content-side-layout .code-block{border-radius:1rem!important;border-color:#ececef!important;box-shadow:0 1px 2px rgba(10, 10, 10, 0.04), 0 8px 24px -12px rgba(10, 10, 10, 0.08)}.dark #content-side-layout [data-component-part=\"code-block-root\"],.dark #content-side-layout .code-block{border-color:rgba(255, 255, 255, 0.08)!important;box-shadow:none}[data-status]{--s: #16a34a}[data-status^=\"3\"]{--s: #2461ed}[data-status^=\"4\"]{--s: #ea580c}[data-status^=\"5\"]{--s: #ef4444}.dark [data-status]{--s: #4ade80}.dark [data-status^=\"3\"]{--s: #6b9bff}.dark [data-status^=\"4\"]{--s: #fb923c}.dark [data-status^=\"5\"]{--s: #f87171}[data-component-part=\"code-group-tab-bar\"] button[data-status]>div:first-child{gap:0.375rem}[data-component-part=\"code-group-tab-bar\"] button[data-status]>div:first-child::before{content:\"\";width:0.375rem;height:0.375rem;border-radius:50%;background:var(--s)}[data-component-part=\"code-group-tab-bar\"] button[data-status][data-state=\"active\"]{color:var(--s)!important}[data-component-part=\"code-group-tab-bar\"] button[data-status][data-state=\"active\"]>div:last-child{background:var(--s)!important}@media (prefers-reduced-motion: reduce){.tryit-button,[data-component-part=\"expandable-button\"]{transition:none}}@media (min-width: 1280px){body:has(.method-pill) #toc-fallback{display:none!important}html body:has(.method-pill):has(#toc-fallback) #page-context-menu.ml-auto{display:flex!important}}"},{"filePath":"changelog.css","content":"[data-tag]{--t: #71717a}[data-tag=\"feature\"]{--t: #16a34a}[data-tag=\"improvement\"]{--t: #2461ed}[data-tag=\"change\"]{--t: #8b5cf6}[data-tag=\"fix\"]{--t: #ea580c}[data-tag=\"breaking\"]{--t: #ef4444}[data-tag=\"deprecation\"]{--t: #ca8a04}.dark [data-tag=\"docs\"]{--t: #a1a1aa}.dark [data-tag=\"improvement\"]{--t: #6b9bff}.dark [data-tag=\"change\"]{--t: #a78bfa}.update-container{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.update-container [data-component-part=\"update-label\"]{padding:0!important;background:none!important;color:#0a0a0a!important;font-size:0.9375rem!important;font-weight:600!important;letter-spacing:-0.01em;cursor:pointer}.dark .update-container [data-component-part=\"update-label\"]{color:#fff!important}.update-container [data-component-part=\"update-description\"]{margin-top:0.4rem!important;padding:0!important;color:#71717a!important;font-size:0.8125rem!important;line-height:1.4}.dark .update-container [data-component-part=\"update-description\"]{color:#a1a1aa!important}.update-container [data-component-part=\"update-tag-list\"]{order:3;margin-top:0.75rem!important;padding:0!important;gap:0.375rem!important}.update-container [data-component-part=\"update-tag\"],#changelog-filters-content button{display:inline-flex!important;align-items:center;gap:0.375rem;border-radius:999px!important;font-weight:500!important;line-height:1.4}.update-container [data-component-part=\"update-tag\"]{padding:0.125rem 0.55rem!important;font-size:0.75rem!important;color:var(--t)!important;background:color-mix(in srgb, var(--t) 10%, transparent)}.update-container [data-component-part=\"update-tag\"]::before,#changelog-filters-content button::before{content:\"\";width:0.375rem;height:0.375rem;border-radius:50%;background:var(--t);flex-shrink:0}#changelog-filters-content button{padding:0.25rem 0.75rem!important;font-size:0.8125rem!important;color:#3f3f46!important;background:#fff!important;border:1px solid #e4e4e7;transition:border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease}#changelog-filters-content button:hover{border-color:color-mix(in srgb, var(--t) 45%, transparent)}#changelog-filters-content button.bg-primary{color:var(--t)!important;background:color-mix(in srgb, var(--t) 10%, transparent)!important;border-color:color-mix(in srgb, var(--t) 45%, transparent)}.dark #changelog-filters-content button{color:#d4d4d8!important;background:transparent!important;border-color:rgba(255, 255, 255, 0.1)}.dark #changelog-filters-content button.bg-primary{color:var(--t)!important;background:color-mix(in srgb, var(--t) 14%, transparent)!important}html[data-changelog] #toc-fallback .toc-actions{top:calc(9.5rem + var(--cl-filters-h, 9rem) + 1rem)!important;padding-top:1rem!important;border-top:1px solid #ececef!important}.dark html[data-changelog] #toc-fallback .toc-actions,html.dark[data-changelog] #toc-fallback .toc-actions{border-top-color:rgba(255, 255, 255, 0.08)!important}.update-container [data-component-part=\"update-content\"]>h2:first-child{margin-top:0!important;font-size:1.375rem;line-height:1.35;letter-spacing:-0.02em}.update-container.cl-latest [data-component-part=\"update-tag-list\"]::after{content:\"Latest\";padding:0.0625rem 0.5rem;border-radius:999px;font-size:0.6875rem;font-weight:600;letter-spacing:0.02em;color:#fff;background:#2461ed}[data-component-part=\"update-content\"] .cl-endpoints-label{margin-bottom:0.5rem!important;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em;color:#71717a}.dark [data-component-part=\"update-content\"] .cl-endpoints-label{color:#a1a1aa}[data-component-part=\"update-content\"] .cl-endpoints-label strong{font-weight:600;color:inherit}#content [data-component-part=\"update-content\"] ul.cl-endpoints{display:flex;flex-direction:column;gap:0.375rem;margin:0 0 1.25rem!important;padding:0!important;list-style:none!important}#content [data-component-part=\"update-content\"] ul.cl-endpoints>li{margin:0!important;padding:0!important}#content [data-component-part=\"update-content\"] ul.cl-endpoints>li::marker,#content [data-component-part=\"update-content\"] ul.cl-endpoints>li::before{content:none!important;display:none!important}#content [data-component-part=\"update-content\"] .cl-endpoint>code{display:inline-flex!important;align-items:center;gap:0.625rem;padding:0.3rem 0.75rem 0.3rem 0.3rem!important;border-radius:0.625rem!important;border:1px solid #ececef!important;background:#fafafa!important;color:#27272a!important;-webkit-text-fill-color:currentColor;font-size:0.8125rem!important}.dark #content [data-component-part=\"update-content\"] .cl-endpoint>code{border-color:rgba(255, 255, 255, 0.08)!important;background:rgba(255, 255, 255, 0.03)!important;color:#e4e4e7!important;-webkit-text-fill-color:currentColor}.cl-method{--m: #16a34a;min-width:3.25rem;padding:0.0625rem 0.4rem;border-radius:0.375rem;text-align:center;font-size:0.6875rem;font-weight:700;letter-spacing:0.02em;color:var(--m);-webkit-text-fill-color:var(--m);background:color-mix(in srgb, var(--m) 12%, transparent)}.cl-method[data-method=\"post\"]{--m: #2461ed}.cl-method[data-method=\"put\"],.cl-method[data-method=\"patch\"]{--m: #ea580c}.cl-method[data-method=\"delete\"]{--m: #ef4444}.dark .cl-method[data-method=\"post\"]{--m: #6b9bff}@media (min-width: 1024px){.update-container{gap:2.5rem!important}.update-container>div:last-child{position:relative;padding-left:2.5rem!important;padding-bottom:0.25rem;margin-top:-2.25rem;margin-bottom:-2.25rem;padding-top:2.25rem;overflow:visible!important;border-left:1px solid #ececef}.dark .update-container>div:last-child{border-left-color:rgba(255, 255, 255, 0.08)}.update-container>div:last-child>[data-component-part=\"update-content\"]{padding-bottom:2.25rem;overflow:hidden}.update-container>div:last-child::before{content:\"\";position:absolute;left:-0.375rem;top:calc(2.25rem + 0.55rem);width:0.75rem;height:0.75rem;border-radius:50%;background:#fff;border:2px solid #d4d4d8;transition:border-color 0.2s ease, box-shadow 0.2s ease}.dark .update-container>div:last-child::before{background:#0b0b0c;border-color:#52525b}.update-container:hover>div:last-child::before,.update-container.cl-latest>div:last-child::before{border-color:#2461ed;box-shadow:0 0 0 4px rgba(36, 97, 237, 0.12)}.update-container.cl-latest>div:last-child::before{background:#2461ed}}@media (max-width: 1023px){.update-container+.update-container{border-top:1px solid #ececef}.dark .update-container+.update-container{border-top-color:rgba(255, 255, 255, 0.08)}.update-container>div:first-child{flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:0.5rem 0.75rem}.update-container [data-component-part=\"update-tag-list\"],.update-container [data-component-part=\"update-description\"]{margin-top:0!important}.update-container [data-component-part=\"update-description\"]{display:none}}@media (prefers-reduced-motion: reduce){.update-container>div:last-child::before,#changelog-filters-content button{transition:none}}html[data-changelog] #content-side-layout{pointer-events:none}html[data-changelog] #changelog-filters{pointer-events:auto}#changelog-filters-content button:not([data-tag])::before,.update-container [data-component-part=\"update-tag\"]:not([data-tag])::before{opacity:0}[data-component-part=\"update-content\"] :is(h2,h3)>div.absolute:has(>a[aria-label=\"Navigate to header\"]){display:none}"},{"filePath":"migrate.css","content":".mg-card{margin:1rem 0 1.5rem;border:1px solid #ececef;border-radius:1.125rem;overflow:hidden;background:#fff}.dark .mg-card{border-color:rgba(255, 255, 255, 0.08);background:transparent}.mg-band{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:radial-gradient(1px 1px at 1px 1px, rgba(10, 10, 10, 0.07) 1px, transparent 0) 0 0 / 16px 16px,\n linear-gradient(90deg, #fafafb 0%, #eef2fb 100%);border-bottom:1px solid #f0f0f2}.dark .mg-band{background:radial-gradient(1px 1px at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0) 0 0 / 16px 16px,\n linear-gradient(90deg, #0d0f16 0%, #0d1530 100%);border-bottom-color:rgba(255, 255, 255, 0.06)}.mg-logos{display:flex;flex-shrink:0}.mg-logo{width:2rem;height:2rem;margin-left:-0.25rem;border-radius:999px;background:#fff;box-shadow:0 0 0 2px #f5f6fa;overflow:hidden;opacity:0.85;animation:mg-lit 24s ease-in-out infinite}.mg-logo:first-child{margin-left:0}.dark .mg-logo{box-shadow:0 0 0 2px #0e111b}.mg-logo img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important;border-radius:0!important}@keyframes mg-lit{0%,14%,100%{opacity:0.85}6%,8%{opacity:1}}.mg-flow{position:relative;flex:1;height:2px;min-width:3rem;border-radius:2px;background:repeating-linear-gradient(90deg, rgba(36, 97, 237, 0.25) 0 6px, transparent 6px 11px);overflow:hidden}.mg-beam{position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg, transparent, rgba(36, 97, 237, 0.4));animation:mg-beam 7s ease-in-out infinite}@keyframes mg-beam{from{transform:translateX(-100%)}to{transform:translateX(340%)}}.mg-z{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:0.75rem;background:#2461ED;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px rgba(36, 97, 237, 0.6)}.mg-z svg{width:1.3rem;height:1.3rem;fill:#fff}.mg-steps{display:flex;flex-direction:column;gap:0.5rem;padding:1rem 1.25rem 1.125rem}.mg-step{display:flex;align-items:center;gap:0.75rem}.mg-num{flex-shrink:0;width:1.4rem;height:1.4rem;border-radius:999px;background:rgba(36, 97, 237, 0.1);color:#2461ED;font-size:0.75rem;font-weight:600;display:flex;align-items:center;justify-content:center}.dark .mg-num{background:rgba(107, 155, 255, 0.15);color:#9dbcff}.mg-label{flex-shrink:0;width:8.5rem;font-family:\"Aeonik Pro Var\", \"Aeonik Pro\", sans-serif;font-weight:540;font-size:0.9375rem}.mg-copy{flex:1;min-width:0;display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.5rem 0.5rem 0.75rem;border-radius:0.65rem;background:#f4f4f5;border:1px solid transparent;color:#18181b;font-size:0.875rem;text-align:left;cursor:pointer;transition:border-color 0.15s ease, background-color 0.15s ease}.mg-copy:hover{border-color:rgba(36, 97, 237, 0.35);background:#f7f8fc}.dark .mg-copy{background:rgba(255, 255, 255, 0.05);color:#e4e4e7}.dark .mg-copy:hover{border-color:rgba(107, 155, 255, 0.4)}.mg-copy.code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:0.8125rem}.mg-prompt{color:#2461ED}.dark .mg-prompt{color:#6b9bff}.mg-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-icon{flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:0.45rem;display:flex;align-items:center;justify-content:center;color:#71717a}.mg-icon.done{color:#16a34a}.mg-icon svg{width:0.95rem;height:0.95rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 640px){.mg-step{flex-wrap:wrap}.mg-label{width:auto}.mg-copy{flex-basis:100%}.mg-logo:nth-child(n+6){display:none}}@media (prefers-reduced-motion: reduce){.mg-logo,.mg-beam{animation:none}.mg-logo{opacity:1;filter:none}}"}],"page":{"pagePath":"build-with-ai/mpp","slug":"/build-with-ai/mpp","pageMetadata":{"title":"MPP payments: pay-per-request Zerion API access","sidebarTitle":"MPP payments","description":"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.","href":"/build-with-ai/mpp"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const PayHero=({protocol=`x402`})=>{const P={x402:{logo:_jsxs(`svg`,{className:`pay-logo`,viewBox:`0 0 486.3 187.4`,role:`img`,\"aria-label\":`x402`,children:[_jsx(`path`,{d:`M10.5,59.5c.6-.6,1.6-.6,2.3,0l50.9,50.9,19.5-19.5c.6-.6,1.6-.6,2.3,0l10,10c.6.6.6,1.7,0,2.3l-14.4,14.4v10.4l45.8,45.8c.6.6.6,1.7,0,2.3l-10,10c-.6.6-1.6.6-2.3,0l-50.9-50.9-50.9,50.9c-.6.6-1.6.6-2.3,0L.5,176.1c-.6-.6-.6-1.7,0-2.3l45.8-45.8v-10.4L.5,71.8c-.6-.6-.6-1.7,0-2.3l10-10Z`}),_jsx(`path`,{d:`M374.1,151.7c0-2.5,1-4.9,2.7-6.7l91-93.6c.4-.5.7-1.1.7-1.7v-7.4c0-.6-.2-1.2-.7-1.7l-18.9-19.9c-.4-.5-1.1-.7-1.7-.7h-37.9c-.6,0-1.3.3-1.7.7l-22.9,23c-.9.9-2.5.9-3.4,0l-9.1-9.1c-.9-.9-.9-2.5,0-3.4l26-26c1.8-1.8,4.3-2.8,6.8-2.8h46.7c2.6,0,5.2,1.1,7,3l24.9,26.1c1.7,1.8,2.7,4.2,2.7,6.7v15.9c0,2.5-1,4.9-2.7,6.7l-91,93.6c-.4.5-.7,1.1-.7,1.7v11.4c0,1.3,1.1,2.4,2.4,2.4h89.6c1.3,0,2.4,1.1,2.4,2.4v12.9c0,1.3-1.1,2.4-2.4,2.4h-100.1c-5.3,0-9.7-4.3-9.7-9.7v-26.1Z`}),_jsx(`path`,{d:`M317.9,2.2c17.8,0,32.2,14.4,32.2,32.2v121.6c-.4,17.1-14.2,30.9-31.3,31.4h-41.2c-17.1-.4-30.9-14.2-31.3-31.4v-.8s0-120.8,0-120.8c0-17.8,14.4-32.2,32.2-32.2h39.5ZM263.8,144.8v10.5c0,8,6.5,14.5,14.5,14.5h39.5c8,0,14.5-6.5,14.5-14.5v-79l-68.5,68.6ZM278.3,19.9c-8,0-14.5,6.5-14.5,14.5v85.3l68.5-68.6v-16.7c0-8-6.5-14.5-14.5-14.5h-39.5Z`}),_jsx(`path`,{d:`M199.3,0c1.3,0,2.4,1.1,2.4,2.4v78.6c0,1.3,1.1,2.4,2.4,2.4h17.3c1.3,0,2.4,1.1,2.4,2.4v12.9c0,1.3-1.1,2.4-2.4,2.4h-17.3c-1.3,0-2.4,1.1-2.4,2.4v81.5c0,1.3-1.1,2.4-2.4,2.4h-12.9c-1.3,0-2.4-1.1-2.4-2.4v-81.5c0-1.3-1.1-2.4-2.4-2.4h-60.8c-.6,0-1.3-.3-1.7-.7l-21-21c-.9-.9-.9-2.5,0-3.4L172.9.7c.5-.5,1.1-.7,1.7-.7h24.7ZM123,76c-.9.9-.9,2.5,0,3.4l3.3,3.3c.5.5,1.1.7,1.7.7h53.5c1.3,0,2.4-1.1,2.4-2.4V19.9c0-1.2-1-2.2-2.2-2.2s-1.1.2-1.5.6l-57.3,57.6Z`})]}),head:`→ Pay per request. No API key.`,chips:[`Base or Solana`,`No API key`,`No rate limits`],challenge:`PAYMENT-REQUIRED: $0.01 USDC on Base`,credential:`PAYMENT-SIGNATURE: signed USDC transfer`,receipt:`wallet-portfolio · settled`},mpp:{logo:_jsxs(`svg`,{className:`pay-logo pay-logo-mpp`,viewBox:`120 226 272 61`,role:`img`,\"aria-label\":`MPP`,children:[_jsx(`path`,{d:`M231.244 286.241H218.254V226.094H291.967C296.802 226.094 300.721 230.025 300.721 234.875V255.044C300.721 259.894 296.802 263.825 291.967 263.825H233.298C232.163 263.825 231.244 264.744 231.244 265.879V286.241ZM234.162 251.611H284.813C286.426 251.611 287.731 250.301 287.731 248.684V241.234C287.731 239.617 286.426 238.307 284.813 238.307H234.162C232.55 238.307 231.244 239.617 231.244 241.234V248.684C231.244 250.301 232.55 251.611 234.162 251.611Z`}),_jsx(`path`,{d:`M209.441 286.242H196.452V245.137C196.452 243.836 194.886 243.182 193.965 244.098L175.704 262.259C174.884 263.075 173.776 263.532 172.622 263.532H157.304C156.154 263.532 155.051 263.079 154.233 262.269L135.954 244.209C135.032 243.297 133.47 243.953 133.47 245.251V286.242H120.479V226.094H136.132L160.275 249.953C160.821 250.493 161.556 250.795 162.323 250.795H167.581C168.35 250.795 169.089 250.491 169.635 249.946L193.618 226.094H209.443L209.441 286.242Z`}),_jsx(`path`,{d:`M322.522 286.241H309.532V226.094H383.246C388.081 226.094 392 230.025 392 234.875V255.044C392 259.894 388.081 263.825 383.246 263.825H324.576C323.442 263.825 322.522 264.744 322.522 265.879V286.241ZM325.44 251.611H376.092C377.704 251.611 379.01 250.301 379.01 248.684V241.234C379.01 239.617 377.704 238.307 376.092 238.307H325.44C323.828 238.307 322.522 239.617 322.522 241.234V248.684C322.522 250.301 323.828 251.611 325.44 251.611Z`})]}),head:`Agents pay per request, on Tempo.`,chips:[`Tempo`,`No API key`,`No rate limits`],challenge:`WWW-Authenticate: Payment · $0.01 USDC on Tempo`,credential:`Authorization: Payment \u003ccredential>`,receipt:`Payment-Receipt · wallet-portfolio`}};const p=P[protocol]||P.x402;return _jsxs(`div`,{className:`pay pay-${protocol in P?protocol:`x402`}`,\"aria-hidden\":`true`,children:[_jsxs(`div`,{className:`pay-top`,children:[p.logo,_jsxs(`div`,{className:`pay-chips`,children:[_jsxs(`span`,{className:`pay-price`,children:[_jsx(`b`,{children:`$0.01`}),` USDC per request`]}),p.chips.map(c=>_jsx(`span`,{children:c},c))]})]}),_jsx(`div`,{className:`pay-head`,children:p.head}),_jsxs(`div`,{className:`pay-wire`,children:[_jsxs(`div`,{className:`pay-agents`,children:[_jsxs(`span`,{className:`pay-stack`,children:[_jsx(`span`,{className:`pay-ico pay-ico-claude`,title:`Claude Code`,children:_jsx(`svg`,{viewBox:`0 0 24 24`,children:_jsx(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z`})})}),_jsx(`span`,{className:`pay-ico pay-ico-ink`,title:`Codex`,children:_jsx(`svg`,{viewBox:`0 0 24 24`,children:_jsx(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z`})})}),_jsx(`span`,{className:`pay-ico pay-ico-ink`,title:`Grok`,children:_jsx(`svg`,{viewBox:`0 0 24 24`,children:_jsx(`path`,{d:`M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815`})})}),_jsx(`span`,{className:`pay-ico pay-ico-ink`,title:`Cursor`,children:_jsx(`svg`,{viewBox:`0 0 24 24`,children:_jsx(`path`,{d:`M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z`})})})]}),_jsx(`span`,{className:`pay-name`,children:`Your agent`})]}),_jsxs(`div`,{className:`pay-line`,children:[_jsx(`i`,{className:`pay-pkt pay-p1`}),_jsx(`i`,{className:`pay-pkt pay-p2`}),_jsx(`i`,{className:`pay-pkt pay-p3`,children:`$`}),_jsx(`i`,{className:`pay-pkt pay-p4`})]}),_jsxs(`div`,{className:`pay-node`,children:[_jsx(`span`,{className:`pay-name`,children:`Zerion API`}),_jsx(`span`,{className:`pay-ico pay-ico-z`,children:_jsxs(`svg`,{viewBox:`112 120 290 272`,children:[_jsx(`path`,{d:`M292.851 249.19C242.657 222.066 181.584 186.893 135.62 158.223C122.058 148.453 128.941 127.716 145.332 127.716H372.764C385.451 127.716 393.938 141.861 387.58 152.565C372.297 178.96 349.986 212.471 331.349 239.041C321.345 253.302 305.042 255.752 292.851 249.19Z`}),_jsx(`path`,{d:`M219.645 257.998C268.177 283.868 336.191 323.212 384.518 352.961C399.451 362.177 393.501 384.284 376.06 384.284C347.52 384.284 301.144 384.292 255.009 384.299C209.35 384.306 163.926 384.313 136.261 384.313C122.32 384.313 115.175 369.847 121.095 359.756C141.103 325.662 163.589 291.246 182.284 265.552C190.597 254.09 207.513 251.523 219.645 257.998Z`})]})})]})]}),_jsxs(`div`,{className:`pay-log`,children:[_jsxs(`div`,{className:`pay-l pay-l1`,children:[_jsx(`span`,{className:`pay-dir`,children:`→`}),_jsx(`span`,{className:`pay-m`,children:`GET`}),` /v1/wallets/0xd8dA…6045/portfolio`]}),_jsxs(`div`,{className:`pay-l pay-l2`,children:[_jsx(`span`,{className:`pay-dir`,children:`←`}),_jsx(`span`,{className:`pay-code pay-402`,children:`402`}),` Payment Required`,_jsx(`span`,{className:`pay-dim`,children:p.challenge})]}),_jsxs(`div`,{className:`pay-l pay-l3`,children:[_jsx(`span`,{className:`pay-dir`,children:`→`}),_jsx(`span`,{className:`pay-m`,children:`GET`}),` retry`,_jsx(`span`,{className:`pay-dim`,children:p.credential})]}),_jsxs(`div`,{className:`pay-l pay-l4`,children:[_jsx(`span`,{className:`pay-dir`,children:`←`}),_jsx(`span`,{className:`pay-code pay-200`,children:`200`}),` OK`,_jsx(`span`,{className:`pay-dim`,children:p.receipt})]})]}),_jsx(`div`,{className:`pay-bars`})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`PayHero`,children:_jsx(PayHero,{protocol:`mpp`})}),`\n`,_jsxs(_components.p,{children:[`MPP (`,_jsx(_components.a,{href:`https://mpp.dev`,children:`Machine Payments Protocol`}),`) is an open protocol for pay-per-request HTTP access. Instead of an API key, you pay a small amount of USDC on Tempo for each request. This model is ideal for AI agents that need onchain data without managing subscriptions or key rotation.`]}),`\n`,_jsx(_components.p,{children:`This is an alternative authorization method for the same Zerion API. Endpoints, JSON:API responses, query parameters, and filters all behave exactly as in the rest of the docs. Only the way you prove access changes.`}),`\n`,_jsxs(_components.p,{children:[`Zerion also supports `,_jsx(_components.a,{href:`/build-with-ai/x402`,children:`x402`}),`, a sibling protocol that settles on Base or Solana. See `,_jsx(_components.a,{href:`/authentication`,children:`Authentication`}),` for an overview of all access methods.`]}),`\n`,_jsx(Heading,{level:`2`,id:`quickstart-with-the-zerion-cli`,children:`Quickstart with the Zerion CLI`}),`\n`,_jsxs(_components.p,{children:[`The easiest way to use MPP is with the `,_jsx(_components.a,{href:`/build-with-ai/zerion-cli`,children:`Zerion CLI`}),`, which handles the payment handshake, wallet signing, and retries automatically.`]}),`\n`,_jsxs(_components.p,{children:[`Set an EVM private key for a wallet that holds USDC on Tempo, then make a request with `,_jsx(_components.code,{children:`--mpp`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` WALLET_PRIVATE_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x...\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`zerion-cli`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` wallet`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` portfolio`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --mpp`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`ZERION_MPP=true`}),` to enable MPP globally for analytics commands instead of passing `,_jsx(_components.code,{children:`--mpp`}),` on every call. If you already use `,_jsx(_components.code,{children:`WALLET_PRIVATE_KEY`}),` for x402, the same key works for MPP - or set `,_jsx(_components.code,{children:`TEMPO_PRIVATE_KEY`}),` to use a different wallet for Tempo.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`direct-integration`,children:`Direct integration`}),`\n`,_jsxs(_components.p,{children:[`If you’re not using the CLI, use one of the `,_jsx(_components.a,{href:`https://mpp.dev/sdk`,children:`official MPP SDKs`}),` (TypeScript, Python, Go, Rust) to handle payment construction and retries. You’ll need a wallet with USDC on Tempo and its EVM private key.`]}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`privateKeyToAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'viem/accounts'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Mppx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`tempo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'mppx/client'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Mppx`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` methods:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`tempo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`account:`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` privateKeyToAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`WALLET_PRIVATE_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) })],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Global fetch now handles 402 automatically`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` res`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.zerion.io/v1/wallets/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045/portfolio'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How it works`}),`\n`,_jsx(_components.p,{children:`The card at the top of this page plays this exchange:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Client sends a request to an API endpoint`}),`\n`,_jsxs(_components.li,{children:[`Server returns `,_jsx(_components.code,{children:`402`}),` with a `,_jsx(_components.code,{children:`WWW-Authenticate: Payment`}),` challenge describing where and how much to pay`]}),`\n`,_jsxs(_components.li,{children:[`Client signs a USDC transfer on Tempo and retries with an `,_jsx(_components.code,{children:`Authorization: Payment`}),` header`]}),`\n`,_jsx(_components.li,{children:`Zerion verifies the credential with the MPP facilitator and returns the response`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`rate-limits`,children:`Rate limits`}),`\n`,_jsx(_components.p,{children:`None. You pay per request, with no per-second or monthly quota.`}),`\n`,_jsx(Heading,{level:`2`,id:`error-handling`,children:`Error handling`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`402 Payment required`}),` - no or invalid payment credential. Inspect the `,_jsx(_components.code,{children:`WWW-Authenticate: Payment`}),` response header for a fresh challenge and retry.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`402 MPP payment rejected`}),` - the facilitator rejected the credential. The `,_jsx(_components.code,{children:`detail`}),` field contains the reason (e.g. insufficient funds, expired authorization).`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{PayHero,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"MPP payments: pay-per-request Zerion API access","sidebarTitle":"MPP payments","description":"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.","href":"/build-with-ai/mpp"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[143,9380,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Quickstart with the Zerion CLI","slug":"quickstart-with-the-zerion-cli","depth":2,"children":[]},{"title":"Direct integration","slug":"direct-integration","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"How it works","slug":"how-it-works","depth":2,"children":[]},{"title":"Rate limits","slug":"rate-limits","depth":2,"children":[]},{"title":"Error handling","slug":"error-handling","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/zerion-f99485ad/f7d9c934821323b5/api-reference.js","/_mintlify/custom/zerion-f99485ad/4972e5c7bcb8428c/changelog.js","/_mintlify/custom/zerion-f99485ad/04f750f612fd0882/toc-actions.js"],"subdomain":"zerion-f99485ad","siteName":"Zerion API","title":"MPP payments: pay-per-request Zerion API access - Zerion API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T10:21:25.411Z","originalFileLocation":"build-with-ai/mpp.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Zerion API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"MPP payments: pay-per-request Zerion API access - Zerion API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Zerion API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.zerion.io/build-with-ai/mpp\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zerion-f99485ad.mintlify.site/_mintlify/api/og/v2?division=Build+with+AI\u0026amp;title=MPP+payments%3A+pay-per-request+Zerion+API+access\u0026amp;description=Call+Zerion+API+without+an+API+key+by+paying+per+request+in+USDC+on+Tempo+with+the+Machine+Payments+Protocol.+No+signup%2C+rate+limits%2C+or+monthly+plan.\u0026amp;theme=d49b1634eaf03f1d6a16fb4e\u0026amp;signature=c8565d7aa218c802b91924cece5738093b21493d67c2e67887f5f2990e69b509\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"MPP payments: pay-per-request Zerion API access - Zerion API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zerion-f99485ad.mintlify.site/_mintlify/api/og/v2?division=Build+with+AI\u0026amp;title=MPP+payments%3A+pay-per-request+Zerion+API+access\u0026amp;description=Call+Zerion+API+without+an+API+key+by+paying+per+request+in+USDC+on+Tempo+with+the+Machine+Payments+Protocol.+No+signup%2C+rate+limits%2C+or+monthly+plan.\u0026amp;theme=d49b1634eaf03f1d6a16fb4e\u0026amp;signature=c8565d7aa218c802b91924cece5738093b21493d67c2e67887f5f2990e69b509\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/zerion-f99485ad/VzHsQ_h3ouhCUDnV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Zerion API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2461ED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.zerion.io/build-with-ai/mpp\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build-with-ai/mpp.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.zerion.io/#organization\",\"name\":\"Zerion API\",\"url\":\"https://developers.zerion.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zerion-f99485ad/7LRY3a3Ldx_ROK8O/logo/light.svg?fit=max\u0026auto=format\u0026n=7LRY3a3Ldx_ROK8O\u0026q=85\u0026s=f451fe390bc92095f03123a8f7d40a7d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.zerion.io#website\",\"name\":\"Zerion API\",\"url\":\"https://developers.zerion.io\",\"publisher\":{\"@id\":\"https://developers.zerion.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.zerion.io/build-with-ai/mpp#webpage\",\"url\":\"https://developers.zerion.io/build-with-ai/mpp\",\"name\":\"MPP payments: pay-per-request Zerion API access\",\"description\":\"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\",\"dateModified\":\"2026-11-03T10:21:25.411Z\",\"isPartOf\":{\"@id\":\"https://developers.zerion.io#website\"},\"breadcrumb\":{\"@id\":\"https://developers.zerion.io/build-with-ai/mpp#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.zerion.io/build-with-ai/mpp#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get started\",\"item\":\"https://developers.zerion.io/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build with AI\",\"item\":\"https://developers.zerion.io/build-with-ai/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"MPP payments: pay-per-request Zerion API access\",\"item\":\"https://developers.zerion.io/build-with-ai/mpp\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.zerion.io/build-with-ai/mpp#article\",\"headline\":\"MPP payments: pay-per-request Zerion API access\",\"name\":\"MPP payments: pay-per-request Zerion API access\",\"description\":\"Call Zerion API without an API key by paying per request in USDC on Tempo with the Machine Payments Protocol. No signup, rate limits, or monthly plan.\",\"url\":\"https://developers.zerion.io/build-with-ai/mpp\",\"mainEntityOfPage\":{\"@id\":\"https://developers.zerion.io/build-with-ai/mpp#webpage\"},\"dateModified\":\"2026-11-03T10:21:25.411Z\",\"publisher\":{\"@id\":\"https://developers.zerion.io/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.zerion.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Zerion API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Zerion API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/build-with-ai/mpp.md","siteName":"Zerion API","nav":{"global":null,"tabs":[{"tab":"Home","groups":[{"group":"Get started","pages":[{"title":"Zerion API documentation","sidebarTitle":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"group":"Build with AI","pages":[{"title":"Build AI agents with onchain data","sidebarTitle":"Overview","href":"/build-with-ai/overview"},{"title":"Zerion CLI and agent skills for AI coding tools","sidebarTitle":"Zerion CLI","href":"/build-with-ai/zerion-cli"},{"title":"x402 payments: pay-per-request Zerion API access","sidebarTitle":"x402 payments","description":"Call Zerion API without an API key by paying per request in USDC on Base or Solana with the x402 protocol. No signup, rate limits, or monthly plan needed.","href":"/build-with-ai/x402"},{"title":"MPP payments: pay-per-request Zerion API access","sidebarTitle":"MPP payments","href":"/build-with-ai/mpp"},{"title":"Model Context Protocol (MCP) server","sidebarTitle":"MCP server","description":"Connect Claude, Cursor, and other AI coding tools to Zerion API docs through the Model Context Protocol server for in-editor answers and code generation.","href":"/build-with-ai/mcp"}]},{"title":"Migrate to Zerion API","sidebarTitle":"Migrate to Zerion","href":"/migrate-to-zerion"}]},{"group":"Core concepts","pages":[{"title":"Supported blockchains and chain IDs for Zerion API","sidebarTitle":"Supported blockchains","href":"/supported-blockchains"},{"title":"Endpoints and response schema","sidebarTitle":"Endpoints and schema","href":"/endpoints-and-schema"},{"title":"Pagination, filtering, sorting, and currency","sidebarTitle":"Pagination and filtering","href":"/pagination-and-filtering"},{"title":"Error handling and status codes","sidebarTitle":"Errors","href":"/error-handling"},{"title":"Rate limits and throttling","sidebarTitle":"Rate limits","href":"/rate-limits"},{"title":"Webhooks for real-time wallet transaction notifications","sidebarTitle":"Webhooks","href":"/webhooks"},{"title":"Kafka streaming for onchain events","sidebarTitle":"Kafka streaming","href":"/streaming"},{"title":"Spam token filtering","href":"/spam-filtering"},{"title":"Real-world asset (RWA) classification","sidebarTitle":"RWA classification","href":"/rwa-classification"}]},{"group":"Migrating to Zerion API","pages":[{"title":"Migrate from Zapper to Zerion API","sidebarTitle":"From Zapper","href":"/migrate-from-zapper"},{"title":"Migrate from Dune SIM to Zerion API","sidebarTitle":"From Dune SIM","href":"/migrate-from-sim"},{"title":"Migrate from Mobula to Zerion API","sidebarTitle":"From Mobula","href":"/migrate-from-mobula"},{"title":"Migrate from OneBalance to Zerion API","sidebarTitle":"From OneBalance","href":"/migrate-from-onebalance"},{"title":"Migrate from DeBank Cloud to Zerion API","sidebarTitle":"From DeBank","href":"/migrate-from-debank"},{"title":"Migrate from Allium to Zerion API","sidebarTitle":"From Allium","href":"/migrate-from-allium"},{"title":"Migrate from GoldRush (Covalent) to Zerion API","sidebarTitle":"From GoldRush","href":"/migrate-from-goldrush"},{"title":"Migrate from Moralis to Zerion API","sidebarTitle":"From Moralis","href":"/migrate-from-moralis"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/wallets/get-wallet-balance-chart"}]},{"tab":"Recipes","pages":[{"title":"Recipes","href":"/recipes"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Case studies","href":"https://zerion.io/blog/tag/zerion-api/"}]},"basePath":"","title":"MPP payments: pay-per-request Zerion API access - Zerion API","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}