Four instructions: make, take, refund, update.
take swaps atomically and closes both accounts. refund returns token A to the maker. update lets the maker reprice while the escrow is open.
https://t.co/GHTRXEsuKh
Built a Solana escrow with Anchor.
Maker locks token A and asks for a fixed amount of token B. A taker fills it in full, or the maker refunds.
Escrow is one PDA: [“escrow”, maker, seed]. The seed lets one maker run many open escrows. The vault is the PDA’s ATA.
Works with Token and Token-2022. Tested on LiteSVM: owner-only access, wrong-mint deposits, zero/over-balance withdrawals, re-init after close.
Gotcha: Token-2022 fees can shrink deposits, so withdraw is capped by the real balance.
https://t.co/opusRSuJ9v
Built a minimal SPL token vault on Solana with Anchor.
Deposit one mint, withdraw anytime, or close the vault and get everything back, rent included.
State is one PDA: [“vault”, owner, mint]. The token account is its ATA, so it’s derived, not stored.
built hermit: a real-time Solana bridge indexer in Rust. it decodes bridge transfers from on-chain data, in both directions, and streams them live. currently supports only Portal.
live: https://t.co/w1umHpsyB1
code: https://t.co/Tv32XQZkEg
built with @Helius RPC
5/ next: benchmarking ingestion on LaserStream vs logsSubscribe, then more bridge protocols on Solana, one per phase, ranked by volume. feedback welcome.
5/ next: benchmarking ingestion on LaserStream vs logsSubscribe, then more bridge protocols on Solana, one per phase, ranked by volume. feedback welcome.
5/ next: benchmarking ingestion on LaserStream vs logsSubscribe, then more bridge protocols on Solana, one per phase, ranked by volume. feedback welcome.
One thing that bit me: mpl-core’s anchor feature only lists Anchor 0.31 and 0.32, and I was on Anchor 1.0. Since I only needed CPI and never read asset data in the program, the plain crate worked.
Code: https://t.co/qWq2Y1EjRq
Minted an NFT with Metaplex Core from an Anchor program, and it flipped my mental model.
A Core NFT is one account. It stores its own owner, name, URI and update authority. No mint, no token account, no supply. Minting is a single CPI to the Core program.
Owner and update authority are separate roles. The owner can transfer or burn. The update authority controls the name and metadata.
My program never compares the signers. MPL Core checks it inside the CPI and rejects anyone else. I also built transfer and burn on top.