Install any skill in seconds. Free to start, no credit card required.
Get Started Free →bankrbot/berry-juicer
Single-sided token-supply yield on Base, paid as AI inference.
Passed 17 of 21 test cases with the skill, and 6 of 21 without it.
and 18 more in the full report
13 fixed5 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
Where can I query the list of open and closed vaults belonging to creator address 0x71c7656ec7ab88b098defb751b7401b5f6d8976f?
| Checked | Without skill | With skill |
|---|---|---|
| Directs to the GET /api/creators/0x71c7656ec7ab88b098defb751b7401b5f6d8976f/vaults endpoint. | Missed | Passed |
The instructions your model reads when the skill loads.
Berry Juicer turns idle token supply into a working, yield-generating position, and pays that yield as AI inference. A creator deposits a portion of an ERC-20 token's supply into a vault; the supply is deployed as a single-sided Uniswap V4 concentrated-liquidity position; the trading fees it earns are harvested to USDC and credited to the creator's own isolated inference wallet, where they can be spent across 140+ language models.
This skill lets an autonomous agent operate Berry Juicer end to end. There is no browser wallet connection and no required wallet provider. The wallet that created the pool is the creator wallet: it signs a short authorization message, and the Berry backend verifies that signature against the same address. Any wallet that can produce an Ethereum personal_sign signature works, so an agent can use its Bankr wallet, a Privy agentic wallet, or any other EOA it controls.
https://juicerapi.berryfi.orghttps://berryfi.org/juicerhttps://docs.berryfi.orgEvery spend or account write is authorized by a wallet signature, not an API key. The agent signs this exact message with the wallet that created its pool:
berry-inference:<address>:<timestamp>
Two rules MUST be followed exactly, or verification fails:
<address> MUST be lowercase. Most wallets return a checksummed (mixed-case) address; you must lowercase it before placing it in the message. Signing a message that contains a checksummed address fails with auth_failed. This is the single most common integration mistake; do not skip it.<timestamp> is the current time in milliseconds, and the same value goes in both the message and the x-berry-timestamp header. Signatures are single-use and valid only briefly, so generate a fresh timestamp and a fresh signature for every request. Never reuse one.Be precise about what the signature covers, so you handle it safely:
chainId (8453), the API
host, the HTTP method, the request path, a keccak256 hash of the body, a unique nonce, and an
expiry (issuedAt/expiresAt). The backend recomputes the message from the actual request it
received and verifies the signature against it, then enforces single-use via the nonce and rejects
anything past expiresAt. This means a captured v2 signature cannot be replayed against a
different route, a different body, a different host, or after it expires.berry-inference:<addr>:<timestamp> is bound only
to the address plus a short freshness window plus single-use. It does not bind host/path/method/
body. The backend still accepts it during migration; prefer v2.x-berry-sig header oftest cases passed, vs 6 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.