prmission-sdk-marcos
v0.1.0
Published
Prmission Protocol SDK — consent-gated data exchange & creator economy for AI agents
Downloads
109
Maintainers
Readme
Prmission TypeScript SDK
TypeScript/JavaScript SDK for Prmission Protocol on Base.
Install
npm install @prmission/sdk ethersQuickstart
import { ethers } from "ethers";
import { PrmissionClient } from "@prmission/sdk";
const provider = new ethers.JsonRpcProvider("https://mainnet.base.org");
const signer = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
const client = new PrmissionClient({ signer });
const { permissionId } = await client.grantPermission({
agent: "0xAgentAddress",
dataType: "creator_content",
compensationPercent: 20,
durationSeconds: 30 * 24 * 60 * 60,
upfrontFee: 5,
});
const { escrowId } = await client.depositEscrow({
permissionId: permissionId!,
amount: 100,
});
await client.reportOutcome(escrowId!, 80);
const settlement = await client.settle(escrowId!);Exports
PrmissionClient(permission/escrow/settlement flow)PrmissionRegistry(creator registry)PrmissionCampaigns(campaign extension)NETWORKS,PROTOCOL,PRMISSION_V2_ABI,ERC20_ABIPrmissionError(typed error with stablecode)
Builder Examples
- Backend agent service: [
/Users/marcosbenaim/Documents/New project/repo/sdk/examples/backend-agent-service.js](/Users/marcosbenaim/Documents/New project/repo/sdk/examples/backend-agent-service.js) - Frontend creator app starter: [
/Users/marcosbenaim/Documents/New project/repo/sdk/examples/frontend-creator-app.js](/Users/marcosbenaim/Documents/New project/repo/sdk/examples/frontend-creator-app.js)
Build
npm install
npm run buildVerify (Step 1 + Step 2)
npm run checkThis runs:
- TypeScript compile
- SDK tests
Integration Test (Step 2, onchain flow)
This test runs the full flow:
grantPermission -> depositEscrow -> reportOutcome -> settle
Enable only when you have test wallets + RPC:
PRMISSION_INTEGRATION=1 \
PRMISSION_RPC_URL=http://127.0.0.1:8545 \
PRMISSION_USER_PRIVATE_KEY=0x... \
PRMISSION_AGENT_PRIVATE_KEY=0x... \
npm run test:integrationNotes:
- Recommended on a local Base fork/anvil endpoint.
- Provider must support
evm_increaseTimefor dispute-window settlement. - You can override contract address with
PRMISSION_CONTRACT_ADDRESS.
Publish Dry Run (Step 3)
npm run release:checkThis verifies build + tests, creates a tarball, and runs npm publish --dry-run.
CI (Step 3)
GitHub Actions workflow: [/Users/marcosbenaim/Documents/New project/repo/.github/workflows/sdk-ci.yml](/Users/marcosbenaim/Documents/New project/repo/.github/workflows/sdk-ci.yml)
sdk-check: always runs build + unit tests on SDK changes.sdk-integration: runs only when integration secrets are configured:PRMISSION_RPC_URLPRMISSION_USER_PRIVATE_KEYPRMISSION_AGENT_PRIVATE_KEY- optional
PRMISSION_CONTRACT_ADDRESS
API Stability + Versioning
- Public SDK exports are locked by test:
test/export-surface.test.js. - Semver + release process docs:
- [
/Users/marcosbenaim/Documents/New project/repo/sdk/CHANGELOG.md](/Users/marcosbenaim/Documents/New project/repo/sdk/CHANGELOG.md) - [
/Users/marcosbenaim/Documents/New project/repo/sdk/RELEASING.md](/Users/marcosbenaim/Documents/New project/repo/sdk/RELEASING.md)
- [
Links
- Website: https://prmission.com
- Repo: https://github.com/marcosbenaim-hub/Prmission-Protocol
