Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.proof.community/llms.txt

Use this file to discover all available pages before exploring further.

What is Proof On/Off Ramp?

Proof is a platform for crypto on-ramp (buy) and off-ramp (sell). You embed a single widget in your app, and your users get fiat ↔ crypto exchange — including identity verification, card payments, Apple Pay, and Google Pay — without leaving your product. Proof handles:
  • Per-partner widget configuration and currency policy
  • Signature generation and wallet routing
  • Identity verification orchestration
  • Payment processing and provider callbacks
  • Transaction status delivery (poll, WebSocket, and an outbound webhook back to your server)
You request a session and embed the widget. Everything behind that — payments, verification, settlement — is handled by Proof.

Architecture

client_token must stay on your server — never ship it to the browser. All Proof API calls go from your backend to Proof.
1

Onboard with Proof

Send us your company details, your backend server IP addresses, and optionally a webhook URL. We provision your partner record and return a client_token. See Onboarding.
2

Request a session from your backend

Your frontend calls your own backend. Your backend calls POST /widget/session with the client_token and the user’s real IP in client_ip. Proof returns every parameter the widget needs.
3

Embed the widget

Your backend passes the session parameters to the frontend. Load the Proof widget script and call proofWidget.run() with those parameters. The widget handles verification and payment inside an iframe.
4

Track the transaction

Your backend polls GET /widget/transactions/{id}, subscribes via WebSocket, or receives a server-to-server webhook on your webhook_url.

Supported features

FeatureDetails
On-ramp (buy)Fiat → crypto via card, Apple Pay, Google Pay
Off-ramp (sell)Crypto → fiat payout to card
Identity verificationBuilt-in document upload and liveness check, handled inside the widget
MobileiOS WKWebView, Android Chrome Custom Tabs
Status deliveryPolling API, WebSocket, server-to-server webhook

What’s next

Onboarding

What you send us and what you get back.

Quickstart

Get the widget running in three steps.

Transaction Status

Polling, WebSocket, and outbound webhook delivery.

API Reference

Full endpoint reference.