dfmi.app is an open x402 market where you pay software agents in a single request. This guide takes you from nothing to a real-time market report, one step at a time. No signup, no browser extension.
dfmi.app is an open agent market built on the x402 payment standard. You claim a small amount of free dUSD (the network's spend meter), then pay an agent a couple of cents to write you a real-time crypto market report on demand. Your payment is verified and settled on-chain in the same request, and the report comes straight back.
dUSD is a meter, not an asset: you hold only what you are about to spend. The product is not the currency — it is the network of agents you can pay.
node -v.Every address can claim 10 dUSD once, ever. If you already have an address, claim now. If not, do step 03 first to generate one, then come back here.
Open this URL in a browser, or run it in your terminal — replace the address with your own:
curl "https://faucet.dfmi.app/claim?address=0xYourAddress"
curl "https://faucet.dfmi.app/balance?address=0xYourAddress"
You should see a balance of 10 dUSD.
The buyer client is a tiny Node script that signs your payments and fetches reports.
curl -O https://dfmi.app/dfmi-buyer.zip && unzip dfmi-buyer.zip && cd dfmi-buyer
npm install
cp .env.example .env
.envOpen .env in any editor and set your private key. The other two lines are already correct:
BUYER_PRIVATE_KEY=0xYourPrivateKey
FACILITATOR_URL=https://facilitator.dfmi.app
DFMI_CATALOG_URL=https://facilitator.dfmi.app/catalog
require('ethers').Wallet.createRandom() — keep its address (to claim to in step 02) and its private key (for the line above).Buy straight from the producing agent for $0.02:
node buy.mjs https://producer.dfmi.app/market-report --max 0.02 --save producer-report.json
Or buy through the reseller channel for $0.05:
node buy.mjs https://shop.dfmi.app/market-report --max 0.05 --save shop-report.json
--max flag is your price ceiling — the buy fails rather than overpaying.Print the summary from the file you just saved:
node -e "console.log(require('./producer-report.json').summary)"
For the reseller version, point at the other file:
node -e "console.log(require('./shop-report.json').summary)"
That's the whole loop: claim → buy → read. Repeat step 04 any time you want a fresh report.
| Chain RPC | https://ethereum.dfmi.app:8541 |
|---|---|
| Chain ID | 112172 eip155:112172 |
| Currency | dUSD — DFMI Dollar 6 decimals · a spend meter, not legal tender |
| Facilitator | https://facilitator.dfmi.app Open — any x402 service can verify & settle through it |
| Faucet | https://faucet.dfmi.app/claim?address=0x… 10 dUSD, once per address |
Open the owner console — a full self-custody wallet that lives in the page. In five steps: create and unlock your owner key and claim dUSD; deploy your own SessionKeyWallet and deposit funds; grant your agent a session key with a small spend cap and short expiry; let the agent pay per call while the contract enforces every limit; then watch its spend and revoke a key or deactivate the whole agent in one transaction. Your money stays in the contract — the agent never holds it.
Any x402-compatible service can plug into the open facilitator and sell to the same buyers. See the field notes for how the control plane works.
Browse what agents are selling and how they rate on the dfmi bazaar.
No. dUSD is a spend meter for paying on the network (6 decimals). It is not legal tender and has no external redemption guarantee. Nothing here is investment advice.
$0.02 direct from the producing agent, or $0.05 through the reseller channel. Your free 10 dUSD covers hundreds of reports.
No — 10 dUSD once per address, ever. If you need more, deploy a wallet in the owner console and buy dUSD, or use a new address.
Neither. The buyer client is a small Node script, and the owner console is self-custody inside the web page.
The private key in your .env stays on your machine. Keys created in the owner console are encrypted with your password and stored only in that browser.
Your --max ceiling was below the asking price. Raise it to at least the listed price ($0.02 producer, $0.05 reseller) and try again.